* Disable arm-specific codepaths to avoid armv7 contamination.
[dgit import unpatched rust-ring 0.17.14-2+rpi1]
--- /dev/null
--- /dev/null
++{"package":"Could not get crate checksum","files":{}}
--- /dev/null
--- /dev/null
++rust-ring (0.17.14-2+rpi1) trixie-staging; urgency=medium
++
++ * Disable arm-specific codepaths to avoid armv7 contamination.
++
++ -- Peter Michael Green <plugwash@raspbian.org> Thu, 24 Apr 2025 19:36:28 +0000
++
++rust-ring (0.17.14-2) unstable; urgency=medium
++
++ * Team upload.
++ * Package ring 0.17.14 from crates.io using debcargo 2.7.8
++ * Fix library name in built-using (Closes: #1103300)
++
++ -- Peter Michael Green <plugwash@debian.org> Thu, 17 Apr 2025 02:09:18 +0000
++
++rust-ring (0.17.14-1) unstable; urgency=medium
++
++ * Team upload.
++ * Package ring 0.17.14 from crates.io using debcargo 2.7.8
++ + New upstream fixes RUSTSEC-2025-0009
++ * Drop use-generic-implementation-on-non-sse2-x86.patch, Debian has
++ decided to use SSE2 for rust on i386 and the patch is a pain to maintain.
++ * Update remaining patches for new upstream.
++
++ -- Peter Michael Green <plugwash@debian.org> Tue, 15 Apr 2025 17:32:52 +0000
++
++rust-ring (0.17.8-2) unstable; urgency=medium
++
++ * Team upload.
++ * Package ring 0.17.8 from crates.io using debcargo 2.6.1
++ * Add patch to avoid using x86-specific implementation on non-sse2 x86,
++ since upstream informs us that the x86 assembly implementations require
++ sse2.
++
++ -- Peter Michael Green <plugwash@debian.org> Sat, 14 Sep 2024 18:06:25 +0000
++
++rust-ring (0.17.8-1) unstable; urgency=medium
++
++ * Team upload.
++ * Package ring 0.17.8 from crates.io using debcargo 2.6.1 (Closes: #1067602)
++
++ -- Peter Michael Green <plugwash@debian.org> Tue, 13 Aug 2024 17:09:38 +0000
++
++rust-ring (0.17.5-1) unstable; urgency=medium
++
++ * Team upload.
++ * Package ring 0.17.5 from crates.io using debcargo 2.6.0
++ * Update patches for new upsteam.
++ * Upload to unstable.
++
++ -- Peter Michael Green <plugwash@debian.org> Tue, 07 Nov 2023 18:17:58 +0000
++
++rust-ring (0.17.3-1) experimental; urgency=medium
++
++ * Team upload.
++ * Package ring 0.17.3 from crates.io using debcargo 2.6.0
++ * Add patch to disable slow tests.
++ * Drop update-spin-to-0.9.patch, no longer needed.
++ * Update patches for new upstream.
++ * Remove windows-specific dependency that is not in Debian.
++ * Remove dependency on js feature of getrandom, whic is not
++ provided by Debian's rust-getrandom package.
++
++ -- Peter Michael Green <plugwash@debian.org> Sat, 14 Oct 2023 17:35:11 +0000
++
++rust-ring (0.16.20-2) unstable; urgency=medium
++
++ * Team upload.
++ * Package ring 0.16.20 from crates.io using debcargo 2.5.0
++ * Upgrade spin dependency to 0.9
++
++ -- Alexander Kjäll <alexander.kjall@gmail.com> Mon, 24 Oct 2022 20:11:21 -0400
++
++rust-ring (0.16.20-1) unstable; urgency=medium
++
++ * Team upload.
++ * Package ring 0.16.20 from crates.io using debcargo 2.5.0 (Closes: #1010212)
++ * Drop relax-deps.patch, no longer needed
++ * Drop use-array-iter.patch, included in new upstream
++ * Remove dev-dependency on wasm-bindgen-test, it's only used when testing
++ with the wasm-bindgen target which we don't do in Debian.
++ * Disable a test which depends on test data that is not in Debian.
++ * Fix running tests with no-default-features.
++ * Use collapse_features = true
++
++ -- Peter Michael Green <plugwash@debian.org> Thu, 28 Apr 2022 21:08:04 +0000
++
++rust-ring (0.16.9-4) unstable; urgency=medium
++
++ * Package ring 0.16.9 from crates.io using debcargo 2.4.2
++ * use-array-iter.patch: Fix usage of array::into_iter
++ Thanks to Logan Rosen (Closes: #961387)
++
++ -- Sylvestre Ledru <sylvestre@debian.org> Sat, 23 May 2020 23:38:56 +0200
++
++rust-ring (0.16.9-3) unstable; urgency=medium
++
++ * Team upload.
++ * Package ring 0.16.9 from crates.io using debcargo 2.4.2
++
++ -- Sylvestre Ledru <sylvestre@debian.org> Mon, 20 Apr 2020 14:16:05 +0200
++
++rust-ring (0.16.9-2) unstable; urgency=medium
++
++ * Team upload.
++ * Package ring 0.16.9 from crates.io using debcargo 2.2.10
++ * librust-ring+lazy-static-dev is NEW.
++
++ -- Sylvestre Ledru <sylvestre@debian.org> Tue, 29 Oct 2019 09:07:09 +0100
++
++rust-ring (0.16.9-1) unstable; urgency=medium
++
++ * Package ring 0.16.9 from crates.io using debcargo 2.4.0 (Closes: #935673)
++
++ -- kpcyrd <git@rxv.cc> Tue, 22 Oct 2019 18:02:25 +0200
++
++rust-ring (0.14.6-1) unstable; urgency=medium
++
++ * Package ring 0.14.6 from crates.io using debcargo 2.2.10
++
++ -- kpcyrd <git@rxv.cc> Thu, 20 Jun 2019 17:05:16 -0700
--- /dev/null
--- /dev/null
++Source: rust-ring
++Section: rust
++Priority: optional
++Build-Depends: debhelper-compat (= 13),
++ dh-sequence-cargo
++Build-Depends-Arch: cargo:native <!nocheck>,
++ rustc:native (>= 1.66.0) <!nocheck>,
++ libstd-rust-dev <!nocheck>,
++ librust-cc-1-dev (>= 1.2.8-~~) <!nocheck>,
++ librust-cfg-if-1-dev <!nocheck>,
++ librust-getrandom-0.2+default-dev (>= 0.2.10-~~) <!nocheck>,
++ librust-libc-0.2-dev (>= 0.2.148-~~) <!nocheck>,
++ librust-libc-0.2-dev (>= 0.2.155-~~) <!nocheck>,
++ librust-untrusted-0.9+default-dev <!nocheck>
++Maintainer: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
++Uploaders:
++ kpcyrd <git@rxv.cc>
++Standards-Version: 4.7.0
++Vcs-Git: https://salsa.debian.org/rust-team/debcargo-conf.git [src/ring]
++Vcs-Browser: https://salsa.debian.org/rust-team/debcargo-conf/tree/master/src/ring
++Homepage: https://github.com/briansmith/ring
++X-Cargo-Crate: ring
++Rules-Requires-Root: no
++
++Package: librust-ring-dev
++Architecture: any
++Multi-Arch: same
++Depends:
++ ${misc:Depends},
++ librust-cc-1-dev (>= 1.2.8-~~),
++ librust-cfg-if-1-dev,
++ librust-getrandom-0.2+default-dev (>= 0.2.10-~~),
++ librust-libc-0.2-dev (>= 0.2.148-~~),
++ librust-libc-0.2-dev (>= 0.2.155-~~),
++ librust-untrusted-0.9+default-dev
++Provides:
++ librust-ring+alloc-dev (= ${binary:Version}),
++ librust-ring+default-dev (= ${binary:Version}),
++ librust-ring+dev-urandom-fallback-dev (= ${binary:Version}),
++ librust-ring+less-safe-getrandom-custom-or-rdrand-dev (= ${binary:Version}),
++ librust-ring+less-safe-getrandom-espidf-dev (= ${binary:Version}),
++ librust-ring+std-dev (= ${binary:Version}),
++ librust-ring+test-logging-dev (= ${binary:Version}),
++ librust-ring+unstable-testing-arm-no-hw-dev (= ${binary:Version}),
++ librust-ring+unstable-testing-arm-no-neon-dev (= ${binary:Version}),
++ librust-ring-0-dev (= ${binary:Version}),
++ librust-ring-0+alloc-dev (= ${binary:Version}),
++ librust-ring-0+default-dev (= ${binary:Version}),
++ librust-ring-0+dev-urandom-fallback-dev (= ${binary:Version}),
++ librust-ring-0+less-safe-getrandom-custom-or-rdrand-dev (= ${binary:Version}),
++ librust-ring-0+less-safe-getrandom-espidf-dev (= ${binary:Version}),
++ librust-ring-0+std-dev (= ${binary:Version}),
++ librust-ring-0+test-logging-dev (= ${binary:Version}),
++ librust-ring-0+unstable-testing-arm-no-hw-dev (= ${binary:Version}),
++ librust-ring-0+unstable-testing-arm-no-neon-dev (= ${binary:Version}),
++ librust-ring-0.17-dev (= ${binary:Version}),
++ librust-ring-0.17+alloc-dev (= ${binary:Version}),
++ librust-ring-0.17+default-dev (= ${binary:Version}),
++ librust-ring-0.17+dev-urandom-fallback-dev (= ${binary:Version}),
++ librust-ring-0.17+less-safe-getrandom-custom-or-rdrand-dev (= ${binary:Version}),
++ librust-ring-0.17+less-safe-getrandom-espidf-dev (= ${binary:Version}),
++ librust-ring-0.17+std-dev (= ${binary:Version}),
++ librust-ring-0.17+test-logging-dev (= ${binary:Version}),
++ librust-ring-0.17+unstable-testing-arm-no-hw-dev (= ${binary:Version}),
++ librust-ring-0.17+unstable-testing-arm-no-neon-dev (= ${binary:Version}),
++ librust-ring-0.17.14-dev (= ${binary:Version}),
++ librust-ring-0.17.14+alloc-dev (= ${binary:Version}),
++ librust-ring-0.17.14+default-dev (= ${binary:Version}),
++ librust-ring-0.17.14+dev-urandom-fallback-dev (= ${binary:Version}),
++ librust-ring-0.17.14+less-safe-getrandom-custom-or-rdrand-dev (= ${binary:Version}),
++ librust-ring-0.17.14+less-safe-getrandom-espidf-dev (= ${binary:Version}),
++ librust-ring-0.17.14+std-dev (= ${binary:Version}),
++ librust-ring-0.17.14+test-logging-dev (= ${binary:Version}),
++ librust-ring-0.17.14+unstable-testing-arm-no-hw-dev (= ${binary:Version}),
++ librust-ring-0.17.14+unstable-testing-arm-no-neon-dev (= ${binary:Version})
++Description: Experiment - Rust source code
++ Source code for Debianized Rust crate "ring"
--- /dev/null
--- /dev/null
++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
++Upstream-Name: ring
++Upstream-Contact: Brian Smith <brian@briansmith.org>
++Source: https://github.com/briansmith/ring
++
++Files: *
++Copyright:
++ 2015-2023 Brian Smith <brian@briansmith.org>
++ 1998-2020 The OpenSSL Project
++ 1995-1998 Eric Young <eay@cryptsoft.com>
++ 2014-2023 Google Inc.
++ 2017 Shay Gueron
++ 2002 Sun Microsystems, Inc.
++ 2014-2015 Intel Corporation
++ 2015-2020 CloudFlare, Inc.
++ 2018 Trent Clarke
++ 2016 Simon Sapin
++ 2016 David Judd
++ 2016 Dirkjan Ochtman
++ 2015-2020 the fiat-crypto authors
++License: OpenSSL License
++
++Files: debian/*
++Copyright:
++ 2019-2022 Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
++ 2019 kpcyrd <git@rxv.cc>
++License: OpenSSL License
++
++License: OpenSSL License
++ Note that it is easy for this file to get out of sync with the licenses in the
++ source code files. It's recommended to compare the licenses in the source code
++ with what's mentioned here.
++ .
++ *ring* is derived from BoringSSL, so the licensing situation in *ring* is
++ similar to BoringSSL.
++ .
++ *ring* uses an ISC-style license like BoringSSL for code in new files,
++ including in particular all the Rust code:
++ .
++ Copyright 2015-2016 Brian Smith.
++ .
++ Permission to use, copy, modify, and/or distribute this software for any
++ purpose with or without fee is hereby granted, provided that the above
++ copyright notice and this permission notice appear in all copies.
++ .
++ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
++ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
++ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
++ SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
++ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
++ OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
++ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
++ .
++ BoringSSL is a fork of OpenSSL. As such, large parts of it fall under OpenSSL
++ licensing. Files that are completely new have a Google copyright and an ISC
++ license. This license is reproduced at the bottom of this file.
++ .
++ Contributors to BoringSSL are required to follow the CLA rules for Chromium:
++ https://cla.developers.google.com/clas
++ .
++ Files in third_party/ have their own licenses, as described therein. The MIT
++ license, for third_party/fiat, which, unlike other third_party directories, is
++ compiled into non-test libraries, is included below.
++ .
++ The OpenSSL toolkit stays under a dual license, i.e. both the conditions of the
++ OpenSSL License and the original SSLeay license apply to the toolkit. See below
++ for the actual license texts. Actually both licenses are BSD-style Open Source
++ licenses. In case of any license issues related to OpenSSL please contact
++ openssl-core@openssl.org.
++ .
++ The following are Google-internal bug numbers where explicit permission from
++ some authors is recorded for use of their work:
++ 27287199
++ 27287880
++ 27287883
++ .
++ OpenSSL License
++ ---------------
++ .
++ /* ====================================================================
++ * Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in
++ * the documentation and/or other materials provided with the
++ * distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ * software must display the following acknowledgment:
++ * "This product includes software developed by the OpenSSL Project
++ * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ * endorse or promote products derived from this software without
++ * prior written permission. For written permission, please contact
++ * openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ * nor may "OpenSSL" appear in their names without prior written
++ * permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ * acknowledgment:
++ * "This product includes software developed by the OpenSSL Project
++ * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ *
++ * This product includes cryptographic software written by Eric Young
++ * (eay@cryptsoft.com). This product includes software written by Tim
++ * Hudson (tjh@cryptsoft.com).
++ *
++ */
++ .
++ Original SSLeay License
++ -----------------------
++ .
++ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
++ * All rights reserved.
++ *
++ * This package is an SSL implementation written
++ * by Eric Young (eay@cryptsoft.com).
++ * The implementation was written so as to conform with Netscapes SSL.
++ *
++ * This library is free for commercial and non-commercial use as long as
++ * the following conditions are aheared to. The following conditions
++ * apply to all code found in this distribution, be it the RC4, RSA,
++ * lhash, DES, etc., code; not just the SSL code. The SSL documentation
++ * included with this distribution is covered by the same copyright terms
++ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
++ *
++ * Copyright remains Eric Young's, and as such any Copyright notices in
++ * the code are not to be removed.
++ * If this package is used in a product, Eric Young should be given attribution
++ * as the author of the parts of the library used.
++ * This can be in the form of a textual message at program startup or
++ * in documentation (online or textual) provided with the package.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the copyright
++ * notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in the
++ * documentation and/or other materials provided with the distribution.
++ * 3. All advertising materials mentioning features or use of this software
++ * must display the following acknowledgement:
++ * "This product includes cryptographic software written by
++ * Eric Young (eay@cryptsoft.com)"
++ * The word 'cryptographic' can be left out if the rouines from the library
++ * being used are not cryptographic related :-).
++ * 4. If you include any Windows specific code (or a derivative thereof) from
++ * the apps directory (application code) you must include an acknowledgement:
++ * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ *
++ * The licence and distribution terms for any publically available version or
++ * derivative of this code cannot be changed. i.e. this code cannot simply be
++ * copied and put under another distribution licence
++ * [including the GNU Public Licence.]
++ */
++ .
++ .
++ ISC license used for completely new code in BoringSSL:
++ .
++ /* Copyright (c) 2015, Google Inc.
++ *
++ * Permission to use, copy, modify, and/or distribute this software for any
++ * purpose with or without fee is hereby granted, provided that the above
++ * copyright notice and this permission notice appear in all copies.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
++ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
++ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
++ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
++ .
++ .
++ The code in third_party/fiat carries the MIT license:
++ .
++ Copyright (c) 2015-2016 the fiat-crypto authors (see
++ https://github.com/mit-plv/fiat-crypto/blob/master/AUTHORS).
++ .
++ Permission is hereby granted, free of charge, to any person obtaining a copy
++ of this software and associated documentation files (the "Software"), to deal
++ in the Software without restriction, including without limitation the rights
++ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
++ copies of the Software, and to permit persons to whom the Software is
++ furnished to do so, subject to the following conditions:
++ .
++ The above copyright notice and this permission notice shall be included in all
++ copies or substantial portions of the Software.
++ .
++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
++ SOFTWARE.
--- /dev/null
--- /dev/null
++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
++Upstream-Name: ring
++Upstream-Contact: FIXME (overlay) UNKNOWN-AUTHORS
++Source: https://github.com/briansmith/ring
++
++Files: *
++Copyright: FIXME (overlay) UNKNOWN-AUTHORS FIXME (overlay) UNKNOWN-YEARS
++License: Apache-2.0 and ISC
++Comment:
++ FIXME (overlay): Since upstream copyright years are not available in
++ Cargo.toml, they were extracted from the upstream Git repository. This may not
++ be correct information so you should review and fix this before uploading to
++ the archive.
++
++Files: LICENSE-BoringSSL
++Copyright:
++ 2009 The Go Authors. All rights reserved.
++ 2015 The Chromium Authors. All rights reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: LICENSE-other-bits
++Copyright: 2015-2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: build.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/chacha/asm/chacha-armv4.pl
++Copyright: 2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/chacha/asm/chacha-armv8.pl
++Copyright: 2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/chacha/asm/chacha-x86.pl
++Copyright: 2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/chacha/asm/chacha-x86_64.pl
++Copyright: 2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/cipher/asm/chacha20_poly1305_armv8.pl
++Copyright: 2020, CloudFlare Ltd.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/cipher/asm/chacha20_poly1305_x86_64.pl
++Copyright: 2015, CloudFlare Ltd.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/constant_time_test.c
++Copyright: 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/cpu_intel.c
++Copyright: 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/crypto.c
++Copyright: 2014 The BoringSSL Authors
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/curve25519/asm/x25519-asm-arm.S
++Copyright: 2015 The BoringSSL Authors
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/curve25519/curve25519.c
++Copyright: 2020 The BoringSSL Authors
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/curve25519/curve25519_64_adx.c
++Copyright: 2023 The BoringSSL Authors
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/curve25519/curve25519_tables.h
++Copyright: 2020 The BoringSSL Authors
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/curve25519/internal.h
++Copyright: 2020 The BoringSSL Authors
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/aes/aes_nohw.c
++Copyright: 2019, Google Inc.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/aes/asm/aes-gcm-avx2-x86_64.pl
++Copyright: 2024 The BoringSSL Authors
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/aes/asm/aesni-gcm-x86_64.pl
++Copyright: 2013-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/aes/asm/aesni-x86.pl
++Copyright: 2009-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/aes/asm/aesni-x86_64.pl
++Copyright: 2009-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/aes/asm/aesv8-armx.pl
++Copyright: 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/aes/asm/aesv8-gcm-armv8.pl
++Copyright: 2022, ARM Inc.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/aes/asm/bsaes-armv7.pl
++Copyright: 2012-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/aes/asm/ghash-armv4.pl
++Copyright: 2010-2018 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/aes/asm/ghash-neon-armv8.pl
++Copyright: 2010-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/aes/asm/ghash-x86.pl
++Copyright: 2010-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/aes/asm/ghash-x86_64.pl
++Copyright: 2010-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/aes/asm/ghashv8-armx.pl
++Copyright: 2014-2020 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/aes/asm/vpaes-armv7.pl
++Copyright: 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/aes/asm/vpaes-armv8.pl
++Copyright: 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/aes/asm/vpaes-x86.pl
++Copyright: 2011-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/aes/asm/vpaes-x86_64.pl
++Copyright: 2011-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/bn/asm/armv4-mont.pl
++Copyright: 2007-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/bn/asm/armv8-mont.pl
++Copyright: 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/bn/asm/x86-mont.pl
++Copyright: 2005-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/bn/asm/x86_64-mont.pl
++Copyright: 2005-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/bn/asm/x86_64-mont5.pl
++Copyright: 2011-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/bn/internal.h
++Copyright:
++ 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
++ 2002, Oracle and/or its affiliates. All rights reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/bn/montgomery.c
++Copyright: 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/bn/montgomery_inv.c
++Copyright: 2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/ec/asm/p256-armv8-asm.pl
++Copyright: 2015-2020 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl
++Copyright:
++ 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
++ 2014, Intel Corporation. All Rights Reserved.
++ 2015 CloudFlare, Inc.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/ec/ecp_nistz.c
++Copyright: 2014, Intel Corporation.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/ec/ecp_nistz.h
++Copyright: 2015, Google Inc.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/ec/ecp_nistz384.h
++Copyright: 2014, Intel Corporation.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/ec/ecp_nistz384.inl
++Copyright: 2014, Intel Corporation.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/ec/gfp_p256.c
++Copyright: 2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/ec/gfp_p384.c
++Copyright: 2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/ec/p256-nistz-table.h
++Copyright:
++ 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
++ 2015, Intel Inc.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/ec/p256-nistz.c
++Copyright:
++ 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
++ 2014, Intel Corporation. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/ec/p256-nistz.h
++Copyright:
++ 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
++ 2014, Intel Corporation. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/ec/p256.c
++Copyright: 2020 The BoringSSL Authors
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/ec/p256_shared.h
++Copyright:
++ 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
++ 2014, Intel Corporation. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/ec/p256_table.h
++Copyright: 2020 The BoringSSL Authors
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/ec/util.h
++Copyright: 2015 The BoringSSL Authors
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/sha/asm/sha256-armv4.pl
++Copyright: 2007-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/sha/asm/sha512-armv4.pl
++Copyright: 2007-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/sha/asm/sha512-armv8.pl
++Copyright: 2014-2020 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/fipsmodule/sha/asm/sha512-x86_64.pl
++Copyright: 2005-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/internal.h
++Copyright: 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/limbs/limbs.c
++Copyright: 2016-2017 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/limbs/limbs.h
++Copyright: 2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/limbs/limbs.inl
++Copyright: 2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/mem.c
++Copyright: 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/perlasm/arm-xlate.pl
++Copyright: 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/perlasm/x86_64-xlate.pl
++Copyright: 2005-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/perlasm/x86asm.pl
++Copyright: 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/perlasm/x86gas.pl
++Copyright: 2007-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/perlasm/x86nasm.pl
++Copyright: 1999-2018 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/poly1305/poly1305.c
++Copyright: 2014, Google Inc.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: crypto/poly1305/poly1305_arm.c
++Copyright: 2014, Google Inc.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: include/ring-core/aes.h
++Copyright: 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: include/ring-core/asm_base.h
++Copyright: 2023 The BoringSSL Authors
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: include/ring-core/base.h
++Copyright: 2001-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: include/ring-core/check.h
++Copyright: 2020 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: include/ring-core/mem.h
++Copyright: 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: include/ring-core/target.h
++Copyright: 2023 The BoringSSL Authors
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: include/ring-core/type_check.h
++Copyright: 1999-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: pregenerated/bsaes-armv7-linux32.S
++Copyright: 2012-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: pregenerated/sha256-armv4-linux32.S
++Copyright: 2007-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: pregenerated/sha256-armv8-ios64.S
++Copyright: 2014-2020 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: pregenerated/sha256-armv8-linux64.S
++Copyright: 2014-2020 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: pregenerated/sha256-armv8-win64.S
++Copyright: 2014-2020 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: pregenerated/sha512-armv4-linux32.S
++Copyright: 2007-2016 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: pregenerated/sha512-armv8-ios64.S
++Copyright: 2014-2020 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: pregenerated/sha512-armv8-linux64.S
++Copyright: 2014-2020 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: pregenerated/sha512-armv8-win64.S
++Copyright: 2014-2020 The OpenSSL Project Authors. All Rights Reserved.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead.rs
++Copyright: 2015-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/aes.rs
++Copyright: 2018-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/aes/bs.rs
++Copyright: 2018-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/aes/fallback.rs
++Copyright: 2018-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/aes/ffi.rs
++Copyright: 2018-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/aes/hw.rs
++Copyright: 2018-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/aes/vp.rs
++Copyright: 2018-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/aes_gcm.rs
++Copyright: 2015-2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/aes_gcm/aarch64.rs
++Copyright: 2015-2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/aes_gcm/aeshwclmulmovbe.rs
++Copyright: 2015-2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/aes_gcm/vaesclmulavx2.rs
++Copyright: 2015-2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/algorithm.rs
++Copyright: 2015-2021 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/chacha.rs
++Copyright:
++ 2016 Brian Smith.
++ 2016, Google Inc.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/chacha/fallback.rs
++Copyright:
++ 2021 Brian Smith.
++ 2014, Google Inc.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/chacha/ffi.rs
++Copyright: 2016-2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/chacha20_poly1305/integrated.rs
++Copyright: 2015-2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/chacha20_poly1305/mod.rs
++Copyright: 2015-2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/chacha20_poly1305_openssh.rs
++Copyright: 2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/gcm.rs
++Copyright: 2018-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/gcm/clmul.rs
++Copyright: 2018-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/gcm/clmulavxmovbe.rs
++Copyright: 2018-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/gcm/fallback.rs
++Copyright:
++ 2019, Google Inc.
++ 2020-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/gcm/ffi.rs
++Copyright: 2018 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/gcm/neon.rs
++Copyright: 2018-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/gcm/vclmulavx2.rs
++Copyright: 2018-2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/less_safe_key.rs
++Copyright: 2015-2021 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/nonce.rs
++Copyright: 2018 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/opening_key.rs
++Copyright: 2015-2021 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/overlapping/array.rs
++Copyright: 2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/overlapping/base.rs
++Copyright: 2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/overlapping/mod.rs
++Copyright: 2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/overlapping/partial_block.rs
++Copyright: 2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/poly1305.rs
++Copyright: 2015-2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/poly1305/ffi_arm_neon.rs
++Copyright:
++ 2015-2025 Brian Smith.
++ 2014, 2015, Google Inc.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/poly1305/ffi_fallback.rs
++Copyright:
++ 2015-2025 Brian Smith.
++ 2014, 2015, Google Inc.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/quic.rs
++Copyright: 2018 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/sealing_key.rs
++Copyright: 2015-2021 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/shift.rs
++Copyright: 2018 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/aead/unbound_key.rs
++Copyright: 2015-2021 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/agreement.rs
++Copyright: 2015-2017 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/arithmetic.rs
++Copyright: 2017-2023 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/arithmetic/bigint.rs
++Copyright: 2015-2023 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/arithmetic/bigint/boxed_limbs.rs
++Copyright: 2015-2023 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/arithmetic/bigint/modulus.rs
++Copyright: 2015-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/arithmetic/bigint/modulusvalue.rs
++Copyright: 2015-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/arithmetic/bigint/private_exponent.rs
++Copyright: 2015-2023 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/arithmetic/ffi.rs
++Copyright: 2024-2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/arithmetic/inout.rs
++Copyright: 2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/arithmetic/limbs/aarch64/mod.rs
++Copyright: 2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/arithmetic/limbs/aarch64/mont.rs
++Copyright: 2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/arithmetic/limbs/mod.rs
++Copyright: 2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/arithmetic/limbs/x86_64/mod.rs
++Copyright: 2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/arithmetic/limbs/x86_64/mont.rs
++Copyright: 2015-2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/arithmetic/limbs512/mod.rs
++Copyright: 2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/arithmetic/limbs512/storage.rs
++Copyright: 2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/arithmetic/montgomery.rs
++Copyright: 2017-2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/arithmetic/n0.rs
++Copyright: 2015-2022 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/bb/boolmask.rs
++Copyright: 2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/bb/leaky.rs
++Copyright: 2015-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/bb/mod.rs
++Copyright: 2015-2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/bb/word.rs
++Copyright: 2015-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/bits.rs
++Copyright: 2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/bssl.rs
++Copyright: 2015 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/c.rs
++Copyright: 2016-2019 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/cpu.rs
++Copyright: 2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/cpu/arm.rs
++Copyright: 2016-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/cpu/arm/darwin.rs
++Copyright: 2016-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/cpu/arm/fuchsia.rs
++Copyright: 2016-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/cpu/arm/linux.rs
++Copyright: 2016-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/cpu/arm/windows.rs
++Copyright: 2016-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/cpu/intel.rs
++Copyright: 2016-2021 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/debug.rs
++Copyright: 2018 Trent Clarke.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/deprecated_constant_time.rs
++Copyright: 2015-2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/deprecated_test.rs
++Copyright: 2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/digest.rs
++Copyright: 2015-2019 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/digest/dynstate.rs
++Copyright: 2015-2019 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/digest/sha1.rs
++Copyright:
++ 2015-2025 Brian Smith.
++ 2016 Simon Sapin.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/digest/sha2/fallback.rs
++Copyright: 2019-2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/digest/sha2/ffi.rs
++Copyright: 2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/digest/sha2/mod.rs
++Copyright: 2019-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/digest/sha2/sha2_32.rs
++Copyright: 2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/digest/sha2/sha2_64.rs
++Copyright: 2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/ec.rs
++Copyright: 2015-2017 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/ec/curve25519.rs
++Copyright: 2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/ec/curve25519/ed25519.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/ec/curve25519/ed25519/signing.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/ec/curve25519/ed25519/verification.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/ec/curve25519/ops.rs
++Copyright: 2015-2017 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/ec/curve25519/scalar.rs
++Copyright: 2015-2019 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/ec/curve25519/x25519.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/ec/suite_b.rs
++Copyright: 2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/ec/suite_b/curve.rs
++Copyright: 2015-2017 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/ec/suite_b/ecdh.rs
++Copyright: 2015-2017 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/ec/suite_b/ecdsa/digest_scalar.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/ec/suite_b/ecdsa/signing.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/ec/suite_b/ecdsa/verification.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/ec/suite_b/ops.rs
++Copyright: 2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/ec/suite_b/ops/elem.rs
++Copyright: 2017 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/ec/suite_b/ops/p256.rs
++Copyright: 2016-2023 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/ec/suite_b/ops/p384.rs
++Copyright: 2016-2023 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/ec/suite_b/private_key.rs
++Copyright: 2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/ec/suite_b/public_key.rs
++Copyright: 2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/error/input_too_long.rs
++Copyright: 2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/error/into_unspecified.rs
++Copyright: 2016-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/error/key_rejected.rs
++Copyright: 2016-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/error/mod.rs
++Copyright: 2016-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/error/unspecified.rs
++Copyright: 2016-2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/hkdf.rs
++Copyright: 2015 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/hmac.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/io.rs
++Copyright: 2018 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/io/der.rs
++Copyright: 2015 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/io/der_writer.rs
++Copyright: 2018 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/io/positive.rs
++Copyright: 2018 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/io/writer.rs
++Copyright: 2018 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/lib.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/limb.rs
++Copyright:
++ 2016 David Judd.
++ 2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/pbkdf2.rs
++Copyright: 2015 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/pkcs8.rs
++Copyright: 2017 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/polyfill.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/polyfill/array_split_map.rs
++Copyright: 2023 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/polyfill/cold_error.rs
++Copyright: 2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/polyfill/cstr.rs
++Copyright: 2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/polyfill/notsend.rs
++Copyright: 2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/polyfill/ptr.rs
++Copyright: 2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/polyfill/slice/as_chunks.rs
++Copyright: 2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/polyfill/slice/as_chunks_mut.rs
++Copyright: 2025 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/polyfill/sliceutil.rs
++Copyright: 2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/polyfill/unwrap_const.rs
++Copyright: 2022 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/rand.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/rsa.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/rsa/keypair.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/rsa/padding.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/rsa/padding/pkcs1.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/rsa/padding/pss.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/rsa/public_key.rs
++Copyright: 2015-2021 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/rsa/public_key_components.rs
++Copyright: 2015-2021 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/rsa/verification.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/signature.rs
++Copyright: 2015-2017 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/tests/bits_tests.rs
++Copyright: 2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/tests/mod.rs
++Copyright: 2024 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: src/testutil.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: tests/aead_tests.rs
++Copyright: 2015-2021 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: tests/agreement_tests.rs
++Copyright: 2015-2017 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: tests/constant_time_tests.rs
++Copyright: 2020 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: tests/digest_tests.rs
++Copyright: 2015-2017 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: tests/ecdsa_tests.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: tests/ed25519_tests.rs
++Copyright: 2015-2017 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: tests/hkdf_tests.rs
++Copyright: 2015 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: tests/hmac_tests.rs
++Copyright: 2015-2016 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: tests/pbkdf2_tests.rs
++Copyright: 2015-2017 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: tests/quic_tests.rs
++Copyright: 2018 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: tests/rand_tests.rs
++Copyright: 2015-2019 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: tests/rsa_tests.rs
++Copyright: 2017 Brian Smith.
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: third_party/fiat/LICENSE
++Copyright: 2015-2020 the fiat-crypto authors (see the AUTHORS file)
++License: UNKNOWN-LICENSE; FIXME (overlay)
++Comment:
++ FIXME (overlay): These notices are extracted from files. Please review them
++ before uploading to the archive.
++
++Files: debian/*
++Copyright:
++ 2019-2025 Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
++ 2019-2025 kpcyrd <git@rxv.cc>
++License: Apache-2.0 and ISC
++
++License: Apache-2.0
++ Debian systems provide the Apache 2.0 license in
++ /usr/share/common-licenses/Apache-2.0
++
++License: ISC
++ Permission to use, copy, modify, and/or distribute this software for any
++ purpose with or without fee is hereby granted, provided that the above
++ copyright notice and this permission notice appear in all copies.
++ .
++ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
++ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
++ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
++ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
++ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
++ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
++ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
--- /dev/null
--- /dev/null
++overlay = "."
++uploaders = ["kpcyrd <git@rxv.cc>"]
++whitelist = ["crypto/**/*.c", "third_party/**/*.c"]
++collapse_features = true
--- /dev/null
--- /dev/null
++--- a/build.rs
+++++ b/build.rs
++@@ -250,2 +250,5 @@
++ fn main() {
+++ println!("dh-cargo:deb-built-using=ring_core_{}_{}_{}_=0={}", std::env::var("CARGO_PKG_VERSION_MAJOR").unwrap(), std::env::var("CARGO_PKG_VERSION_MINOR").unwrap(), std::env::var("CARGO_PKG_VERSION_PATCH").unwrap(), std::env::var("CARGO_MANIFEST_DIR").unwrap());
+++ println!("dh-cargo:deb-built-using=ring_core_{}_{}_{}__test=0={}", std::env::var("CARGO_PKG_VERSION_MAJOR").unwrap(), std::env::var("CARGO_PKG_VERSION_MINOR").unwrap(), std::env::var("CARGO_PKG_VERSION_PATCH").unwrap(), std::env::var("CARGO_MANIFEST_DIR").unwrap());
+++
++ // Avoid assuming the working directory is the same is the $CARGO_MANIFEST_DIR so that toolchains
--- /dev/null
--- /dev/null
++Description: Disable arm-specific codepaths
++ they cause the resulting code to come out with armv7 markers, which is
++ a problem given the way rust applications are statically linked.
++
++ Changes in src and tests were made with the commands
++
++ for file in `find src -name '*.rs'` ; do sed -i 's/target_arch = "arm"/target_arch = "armxxx"/g' $file ; done
++ for file in `find tests -name '*.rs'` ; do sed -i 's/target_arch = "arm"/target_arch = "armxxx"/g' $file ; done
++
++ Other changes were made manually.
++
++Author: Peter Michael Green <plugwash@raspbian.org>
++
++--- rust-ring-0.17.14.orig/Cargo.lock
+++++ rust-ring-0.17.14/Cargo.lock
++@@ -3,12 +3,6 @@
++ version = 3
++
++ [[package]]
++-name = "bumpalo"
++-version = "3.7.0"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631"
++-
++-[[package]]
++ name = "cc"
++ version = "1.2.13"
++ source = "registry+https://github.com/rust-lang/crates.io-index"
++@@ -30,20 +24,8 @@ source = "registry+https://github.com/ru
++ checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
++ dependencies = [
++ "cfg-if",
++- "js-sys",
++ "libc",
++ "wasi",
++- "wasm-bindgen",
++-]
++-
++-[[package]]
++-name = "js-sys"
++-version = "0.3.74"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "a865e038f7f6ed956f788f0d7d60c541fff74c7bd74272c5d4cf15c63743e705"
++-dependencies = [
++- "once_cell",
++- "wasm-bindgen",
++ ]
++
++ [[package]]
++@@ -53,46 +35,6 @@ source = "registry+https://github.com/ru
++ checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
++
++ [[package]]
++-name = "log"
++-version = "0.4.25"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f"
++-
++-[[package]]
++-name = "minicov"
++-version = "0.3.7"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "f27fe9f1cc3c22e1687f9446c2083c4c5fc7f0bcf1c7a86bdbded14985895b4b"
++-dependencies = [
++- "cc",
++- "walkdir",
++-]
++-
++-[[package]]
++-name = "once_cell"
++-version = "1.20.3"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e"
++-
++-[[package]]
++-name = "proc-macro2"
++-version = "1.0.93"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
++-dependencies = [
++- "unicode-ident",
++-]
++-
++-[[package]]
++-name = "quote"
++-version = "1.0.38"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
++-dependencies = [
++- "proc-macro2",
++-]
++-
++-[[package]]
++ name = "ring"
++ version = "0.17.14"
++ dependencies = [
++@@ -101,261 +43,22 @@ dependencies = [
++ "getrandom",
++ "libc",
++ "untrusted",
++- "wasm-bindgen-test",
++- "windows-sys 0.52.0",
++-]
++-
++-[[package]]
++-name = "same-file"
++-version = "1.0.6"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
++-dependencies = [
++- "winapi-util",
++ ]
++
++ [[package]]
++-name = "scoped-tls"
++-version = "1.0.1"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
++-
++-[[package]]
++ name = "shlex"
++ version = "1.3.0"
++ source = "registry+https://github.com/rust-lang/crates.io-index"
++ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
++
++ [[package]]
++-name = "syn"
++-version = "2.0.98"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1"
++-dependencies = [
++- "proc-macro2",
++- "quote",
++- "unicode-ident",
++-]
++-
++-[[package]]
++-name = "unicode-ident"
++-version = "1.0.16"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034"
++-
++-[[package]]
++ name = "untrusted"
++ version = "0.9.0"
++ source = "registry+https://github.com/rust-lang/crates.io-index"
++ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
++
++ [[package]]
++-name = "walkdir"
++-version = "2.5.0"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
++-dependencies = [
++- "same-file",
++- "winapi-util",
++-]
++-
++-[[package]]
++ name = "wasi"
++ version = "0.11.0+wasi-snapshot-preview1"
++ source = "registry+https://github.com/rust-lang/crates.io-index"
++ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
++-
++-[[package]]
++-name = "wasm-bindgen"
++-version = "0.2.97"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "d15e63b4482863c109d70a7b8706c1e364eb6ea449b201a76c5b89cedcec2d5c"
++-dependencies = [
++- "cfg-if",
++- "once_cell",
++- "wasm-bindgen-macro",
++-]
++-
++-[[package]]
++-name = "wasm-bindgen-backend"
++-version = "0.2.97"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "8d36ef12e3aaca16ddd3f67922bc63e48e953f126de60bd33ccc0101ef9998cd"
++-dependencies = [
++- "bumpalo",
++- "log",
++- "once_cell",
++- "proc-macro2",
++- "quote",
++- "syn",
++- "wasm-bindgen-shared",
++-]
++-
++-[[package]]
++-name = "wasm-bindgen-futures"
++-version = "0.4.47"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "9dfaf8f50e5f293737ee323940c7d8b08a66a95a419223d9f41610ca08b0833d"
++-dependencies = [
++- "cfg-if",
++- "js-sys",
++- "once_cell",
++- "wasm-bindgen",
++- "web-sys",
++-]
++-
++-[[package]]
++-name = "wasm-bindgen-macro"
++-version = "0.2.97"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "705440e08b42d3e4b36de7d66c944be628d579796b8090bfa3471478a2260051"
++-dependencies = [
++- "quote",
++- "wasm-bindgen-macro-support",
++-]
++-
++-[[package]]
++-name = "wasm-bindgen-macro-support"
++-version = "0.2.97"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "98c9ae5a76e46f4deecd0f0255cc223cfa18dc9b261213b8aa0c7b36f61b3f1d"
++-dependencies = [
++- "proc-macro2",
++- "quote",
++- "syn",
++- "wasm-bindgen-backend",
++- "wasm-bindgen-shared",
++-]
++-
++-[[package]]
++-name = "wasm-bindgen-shared"
++-version = "0.2.97"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "6ee99da9c5ba11bd675621338ef6fa52296b76b83305e9b6e5c77d4c286d6d49"
++-
++-[[package]]
++-name = "wasm-bindgen-test"
++-version = "0.3.47"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "3d919bb60ebcecb9160afee6c71b43a58a4f0517a2de0054cd050d02cec08201"
++-dependencies = [
++- "js-sys",
++- "minicov",
++- "once_cell",
++- "scoped-tls",
++- "wasm-bindgen",
++- "wasm-bindgen-futures",
++- "wasm-bindgen-test-macro",
++-]
++-
++-[[package]]
++-name = "wasm-bindgen-test-macro"
++-version = "0.3.47"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "222ebde6ea87fbfa6bdd2e9f1fd8a91d60aee5db68792632176c4e16a74fc7d8"
++-dependencies = [
++- "proc-macro2",
++- "quote",
++- "syn",
++-]
++-
++-[[package]]
++-name = "web-sys"
++-version = "0.3.74"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "a98bc3c33f0fe7e59ad7cd041b89034fa82a7c2d4365ca538dda6cdaf513863c"
++-dependencies = [
++- "js-sys",
++- "wasm-bindgen",
++-]
++-
++-[[package]]
++-name = "winapi-util"
++-version = "0.1.9"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
++-dependencies = [
++- "windows-sys 0.59.0",
++-]
++-
++-[[package]]
++-name = "windows-sys"
++-version = "0.52.0"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
++-dependencies = [
++- "windows-targets",
++-]
++-
++-[[package]]
++-name = "windows-sys"
++-version = "0.59.0"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
++-dependencies = [
++- "windows-targets",
++-]
++-
++-[[package]]
++-name = "windows-targets"
++-version = "0.52.6"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
++-dependencies = [
++- "windows_aarch64_gnullvm",
++- "windows_aarch64_msvc",
++- "windows_i686_gnu",
++- "windows_i686_gnullvm",
++- "windows_i686_msvc",
++- "windows_x86_64_gnu",
++- "windows_x86_64_gnullvm",
++- "windows_x86_64_msvc",
++-]
++-
++-[[package]]
++-name = "windows_aarch64_gnullvm"
++-version = "0.52.6"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
++-
++-[[package]]
++-name = "windows_aarch64_msvc"
++-version = "0.52.6"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
++-
++-[[package]]
++-name = "windows_i686_gnu"
++-version = "0.52.6"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
++-
++-[[package]]
++-name = "windows_i686_gnullvm"
++-version = "0.52.6"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
++-
++-[[package]]
++-name = "windows_i686_msvc"
++-version = "0.52.6"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
++-
++-[[package]]
++-name = "windows_x86_64_gnu"
++-version = "0.52.6"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
++-
++-[[package]]
++-name = "windows_x86_64_gnullvm"
++-version = "0.52.6"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
++-
++-[[package]]
++-name = "windows_x86_64_msvc"
++-version = "0.52.6"
++-source = "registry+https://github.com/rust-lang/crates.io-index"
++-checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
++--- rust-ring-0.17.14.orig/build.rs
+++++ rust-ring-0.17.14/build.rs
++@@ -430,7 +430,7 @@ fn build_c_code(
++ out_dir: &Path,
++ core_name_and_version: &str,
++ ) {
++- let (asm_srcs, obj_srcs) = if let Some(asm_target) = asm_target {
+++ let (mut asm_srcs, mut obj_srcs) = if let Some(asm_target) = asm_target {
++ let perlasm_src_dsts = perlasm_src_dsts(generated_dir, asm_target);
++
++ let asm_srcs = asm_srcs(perlasm_src_dsts);
++@@ -450,6 +450,11 @@ fn build_c_code(
++ (vec![], vec![])
++ };
++
+++ if target.arch == "arm" {
+++ asm_srcs = vec![];
+++ obj_srcs = vec![];
+++ }
+++
++ let core_srcs = sources_for_arch(&target.arch)
++ .into_iter()
++ .filter(|p| !is_perlasm(p))
++--- rust-ring-0.17.14.orig/include/ring-core/target.h
+++++ rust-ring-0.17.14/include/ring-core/target.h
++@@ -31,9 +31,6 @@
++ #elif defined(__AARCH64EL__) || defined(_M_ARM64)
++ #define OPENSSL_64_BIT
++ #define OPENSSL_AARCH64
++-#elif defined(__ARMEL__) || defined(_M_ARM)
++-#define OPENSSL_32_BIT
++-#define OPENSSL_ARM
++ // All of following architectures are only supported when `__BYTE_ORDER__` can be used to detect
++ // endianness (in crypto/internal.h).
++ #elif !defined(__BYTE_ORDER__)
++@@ -44,13 +41,8 @@
++ #error "Unsupported endianness"
++ #elif defined(__LP64__)
++ #define OPENSSL_64_BIT
++-#elif defined(__ILP32__)
++-#define OPENSSL_32_BIT
++-// Versions of GCC before 10.0 didn't define `__ILP32__` for all 32-bit targets.
++-#elif defined(__MIPSEL__) || defined(__MIPSEB__) || defined(__PPC__) || defined(__powerpc__) || defined(__csky__) || defined(__XTENSA__)
++-#define OPENSSL_32_BIT
++ #else
++-#error "Unknown target CPU"
+++#define OPENSSL_32_BIT
++ #endif
++
++ #if defined(__APPLE__)
++@@ -79,9 +71,9 @@
++
++ // Disable 32-bit Arm assembly on Apple platforms. The last iOS version that
++ // supported 32-bit Arm was iOS 10.
++-#if defined(OPENSSL_APPLE) && defined(OPENSSL_ARM)
+++//#if defined(OPENSSL_APPLE) && defined(OPENSSL_ARM)
++ #define OPENSSL_ASM_INCOMPATIBLE
++-#endif
+++//#endif
++
++ #if defined(OPENSSL_ASM_INCOMPATIBLE)
++ #undef OPENSSL_ASM_INCOMPATIBLE
++--- rust-ring-0.17.14.orig/src/aead/aes.rs
+++++ rust-ring-0.17.14/src/aead/aes.rs
++@@ -54,7 +54,7 @@ pub(super) enum Key {
++
++ #[cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86",
++ target_arch = "x86_64"
++ ))]
++@@ -84,7 +84,7 @@ impl Key {
++
++ #[cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86_64",
++ target_arch = "x86"
++ ))]
++@@ -109,7 +109,7 @@ impl Key {
++
++ #[cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86",
++ target_arch = "x86_64"
++ ))]
++--- rust-ring-0.17.14.orig/src/aead/aes/bs.rs
+++++ rust-ring-0.17.14/src/aead/aes/bs.rs
++@@ -12,7 +12,7 @@
++ // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
++ // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
++
++-#![cfg(all(target_arch = "arm", target_endian = "little"))]
+++#![cfg(all(target_arch = "armxxx", target_endian = "little"))]
++
++ use super::{Counter, Overlapping, AES_KEY};
++
++--- rust-ring-0.17.14.orig/src/aead/aes/ffi.rs
+++++ rust-ring-0.17.14/src/aead/aes/ffi.rs
++@@ -60,7 +60,7 @@ impl AES_KEY {
++ }
++ }
++
++-#[cfg(all(target_arch = "arm", target_endian = "little"))]
+++#[cfg(all(target_arch = "armxxx", target_endian = "little"))]
++ impl AES_KEY {
++ pub(super) unsafe fn derive(
++ f: for<'a> unsafe extern "C" fn(*mut AES_KEY, &'a AES_KEY),
++--- rust-ring-0.17.14.orig/src/aead/aes/vp.rs
+++++ rust-ring-0.17.14/src/aead/aes/vp.rs
++@@ -14,7 +14,7 @@
++
++ #![cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86",
++ target_arch = "x86_64"
++ ))]
++@@ -24,7 +24,7 @@ use crate::{cpu, error};
++
++ #[cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little")
+++ all(target_arch = "armxxx", target_endian = "little")
++ ))]
++ type RequiredCpuFeatures = cpu::arm::Neon;
++
++@@ -48,7 +48,7 @@ impl Key {
++
++ #[cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86_64"
++ ))]
++ impl EncryptBlock for Key {
++@@ -71,7 +71,7 @@ impl EncryptCtr32 for Key {
++ }
++ }
++
++-#[cfg(all(target_arch = "arm", target_endian = "little"))]
+++#[cfg(all(target_arch = "armxxx", target_endian = "little"))]
++ impl EncryptCtr32 for Key {
++ fn ctr32_encrypt_within(&self, in_out: Overlapping<'_>, ctr: &mut Counter) {
++ use super::{super::overlapping::IndexError, bs, BLOCK_LEN};
++--- rust-ring-0.17.14.orig/src/aead/aes_gcm.rs
+++++ rust-ring-0.17.14/src/aead/aes_gcm.rs
++@@ -27,7 +27,7 @@ use core::ops::RangeFrom;
++
++ #[cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86",
++ target_arch = "x86_64"
++ ))]
++@@ -66,7 +66,7 @@ enum DynKey {
++
++ #[cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little")
+++ all(target_arch = "armxxx", target_endian = "little")
++ ))]
++ Simd(Combo<aes::vp::Key, gcm::neon::Key>),
++
++@@ -112,7 +112,7 @@ impl DynKey {
++
++ #[cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little")
+++ all(target_arch = "armxxx", target_endian = "little")
++ ))]
++ if let Some(cpu) = cpu.get_feature() {
++ return Self::new_neon(key, cpu);
++@@ -129,7 +129,7 @@ impl DynKey {
++
++ #[cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little")
+++ all(target_arch = "armxxx", target_endian = "little")
++ ))]
++ #[cfg_attr(target_arch = "aarch64", inline(never))]
++ fn new_neon(key: aes::KeyBytes, cpu: cpu::arm::Neon) -> Result<Self, error::Unspecified> {
++@@ -154,7 +154,7 @@ impl DynKey {
++ #[cfg_attr(
++ any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86",
++ target_arch = "x86_64",
++ ),
++@@ -210,7 +210,7 @@ pub(super) fn seal(
++
++ #[cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86_64",
++ target_arch = "x86"
++ ))]
++@@ -243,7 +243,7 @@ fn seal_whole_partial<A: aes::EncryptBlo
++ #[cfg_attr(
++ any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86",
++ target_arch = "x86_64"
++ ),
++@@ -338,7 +338,7 @@ pub(super) fn open(
++
++ #[cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86_64",
++ target_arch = "x86"
++ ))]
++@@ -386,7 +386,7 @@ fn open_whole_partial<A: aes::EncryptBlo
++ all(
++ any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little")
+++ all(target_arch = "armxxx", target_endian = "little")
++ ),
++ target_feature = "neon"
++ ),
++--- rust-ring-0.17.14.orig/src/aead/chacha.rs
+++++ rust-ring-0.17.14/src/aead/chacha.rs
++@@ -20,7 +20,7 @@ use cfg_if::cfg_if;
++ cfg_if! {
++ if #[cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86",
++ target_arch = "x86_64"
++ ))] {
++@@ -97,7 +97,7 @@ impl Key {
++ unsafe { (1, (), Overlapping<'_>) => ChaCha20_ctr32_nohw },
++ self, counter, in_out, ())
++ }
++- } else if #[cfg(all(target_arch = "arm", target_endian = "little"))] {
+++ } else if #[cfg(all(target_arch = "armxxx", target_endian = "little"))] {
++ use cpu::{GetFeature as _, arm::Neon};
++ const NEON_MIN_LEN: usize = 192 + 1;
++ if in_out.len() >= NEON_MIN_LEN {
++@@ -183,7 +183,7 @@ impl Counter {
++ test,
++ not(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86_64"
++ ))
++ ))]
++@@ -218,7 +218,7 @@ mod tests {
++ // Always use `MAX_OFFSET` if we hav assembly code.
++ let max_offset = if cfg!(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86",
++ target_arch = "x86_64"
++ )) {
++--- rust-ring-0.17.14.orig/src/aead/gcm/ffi.rs
+++++ rust-ring-0.17.14/src/aead/gcm/ffi.rs
++@@ -23,7 +23,7 @@ pub(super) const ZERO_BLOCK: Block = [0u
++
++ #[cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86",
++ target_arch = "x86_64"
++ ))]
++@@ -42,7 +42,7 @@ macro_rules! htable_new {
++ /// `ghash()`.
++ #[cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86",
++ target_arch = "x86_64"
++ ))]
++@@ -79,7 +79,7 @@ impl KeyValue {
++ /// * `f` may inspect CPU features.
++ #[cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86",
++ target_arch = "x86_64"
++ ))]
++@@ -97,7 +97,7 @@ impl HTable {
++
++ #[cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little")
+++ all(target_arch = "armxxx", target_endian = "little")
++ ))]
++ pub(super) unsafe fn gmult(
++ &self,
++--- rust-ring-0.17.14.orig/src/aead/gcm/neon.rs
+++++ rust-ring-0.17.14/src/aead/gcm/neon.rs
++@@ -14,7 +14,7 @@
++
++ #![cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little")
+++ all(target_arch = "armxxx", target_endian = "little")
++ ))]
++
++ use super::{HTable, KeyValue, UpdateBlock, UpdateBlocks, Xi, BLOCK_LEN};
++--- rust-ring-0.17.14.orig/src/aead/overlapping/base.rs
+++++ rust-ring-0.17.14/src/aead/overlapping/base.rs
++@@ -38,7 +38,7 @@ impl<'o, T> Overlapping<'o, T> {
++ }
++
++ #[cfg(any(
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86"
++ ))]
++ pub fn copy_within(self) -> &'o mut [T]
++@@ -55,7 +55,7 @@ impl<'o, T> Overlapping<'o, T> {
++ }
++
++ #[cfg(any(
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86"
++ ))]
++ pub fn into_slice_src_mut(self) -> (&'o mut [T], RangeFrom<usize>) {
++--- rust-ring-0.17.14.orig/src/aead/poly1305.rs
+++++ rust-ring-0.17.14/src/aead/poly1305.rs
++@@ -15,7 +15,7 @@
++ // TODO: enforce maximum input length.
++
++ use super::{Tag, TAG_LEN};
++-#[cfg(all(target_arch = "arm", target_endian = "little"))]
+++#[cfg(all(target_arch = "armxxx", target_endian = "little"))]
++ use crate::cpu::GetFeature as _;
++ use crate::{cpu, polyfill::slice::AsChunks};
++
++@@ -38,7 +38,7 @@ impl Key {
++ }
++
++ pub(super) enum Context {
++- #[cfg(all(target_arch = "arm", target_endian = "little"))]
+++ #[cfg(all(target_arch = "armxxx", target_endian = "little"))]
++ ArmNeon(ffi_arm_neon::State),
++ Fallback(ffi_fallback::State),
++ }
++@@ -46,7 +46,7 @@ pub(super) enum Context {
++ impl Context {
++ #[inline]
++ pub(super) fn from_key(key: Key, cpu: cpu::Features) -> Self {
++- #[cfg(all(target_arch = "arm", target_endian = "little"))]
+++ #[cfg(all(target_arch = "armxxx", target_endian = "little"))]
++ if let Some(cpu) = cpu.get_feature() {
++ return ffi_arm_neon::State::new_context(key, cpu);
++ }
++@@ -64,7 +64,7 @@ impl Context {
++
++ fn update_internal(&mut self, input: &[u8]) {
++ match self {
++- #[cfg(all(target_arch = "arm", target_endian = "little"))]
+++ #[cfg(all(target_arch = "armxxx", target_endian = "little"))]
++ Self::ArmNeon(state) => state.update_internal(input),
++ Self::Fallback(state) => state.update_internal(input),
++ }
++@@ -73,7 +73,7 @@ impl Context {
++ pub(super) fn finish(mut self, input: &[u8]) -> Tag {
++ self.update_internal(input);
++ match self {
++- #[cfg(all(target_arch = "arm", target_endian = "little"))]
+++ #[cfg(all(target_arch = "armxxx", target_endian = "little"))]
++ Self::ArmNeon(state) => state.finish(),
++ Self::Fallback(state) => state.finish(),
++ }
++--- rust-ring-0.17.14.orig/src/aead/poly1305/ffi_arm_neon.rs
+++++ rust-ring-0.17.14/src/aead/poly1305/ffi_arm_neon.rs
++@@ -13,7 +13,7 @@
++ // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
++ // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
++
++-#![cfg(all(target_arch = "arm", target_endian = "little"))]
+++#![cfg(all(target_arch = "armxxx", target_endian = "little"))]
++
++ use super::{Key, Tag, KEY_LEN, TAG_LEN};
++ use crate::{c, cpu::arm::Neon};
++--- rust-ring-0.17.14.orig/src/arithmetic/montgomery.rs
+++++ rust-ring-0.17.14/src/arithmetic/montgomery.rs
++@@ -136,7 +136,7 @@ pub(super) fn limbs_mul_mont(
++ (MIN_LIMBS, MOD_FALLBACK, ()) => bn_mul_mont_nohw
++ })
++ }
++- } else if #[cfg(all(target_arch = "arm", target_endian = "little"))] {
+++ } else if #[cfg(all(target_arch = "armxxx", target_endian = "little"))] {
++ const MIN_8X: usize = 8;
++ const MOD_8X: usize = 8;
++ if n.len() >= MIN_8X && n.len() % MOD_8X == 0 {
++@@ -192,7 +192,7 @@ pub(super) fn limbs_mul_mont(
++ cfg_if! {
++ if #[cfg(not(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86_64")))] {
++
++ // TODO: Stop calling this from C and un-export it.
++@@ -250,7 +250,7 @@ cfg_if! {
++ feature = "alloc",
++ not(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86_64"
++ ))
++ ))]
++@@ -282,7 +282,7 @@ pub(super) fn limbs_from_mont_in_place(r
++
++ #[cfg(not(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86_64"
++ )))]
++ fn limbs_mul(r: &mut [Limb], a: &[Limb], b: &[Limb]) {
++@@ -302,7 +302,7 @@ fn limbs_mul(r: &mut [Limb], a: &[Limb],
++ test,
++ not(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86_64",
++ ))
++ ))]
++--- rust-ring-0.17.14.orig/src/cpu.rs
+++++ rust-ring-0.17.14/src/cpu.rs
++@@ -63,7 +63,7 @@ macro_rules! impl_get_feature {
++ IntelCpu,
++
++ #[cfg(any(all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86", target_arch = "x86_64"))]
++ // Synthesized to ensure the dynamic flag set is always non-zero.
++ //
++@@ -147,7 +147,7 @@ mod features {
++ }
++
++ cfg_if::cfg_if! {
++- if #[cfg(any(all(target_arch = "aarch64", target_endian = "little"), all(target_arch = "arm", target_endian = "little"),
+++ if #[cfg(any(all(target_arch = "aarch64", target_endian = "little"), all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86", target_arch = "x86_64"))] {
++ impl Features {
++ // SAFETY: This must only be called after CPU features have been written
++@@ -186,7 +186,7 @@ mod features {
++ const _: () = assert!(size_of::<Features>() == 0);
++
++ cfg_if::cfg_if! {
++- if #[cfg(any(all(target_arch = "aarch64", target_endian = "little"), all(target_arch = "arm", target_endian = "little")))] {
+++ if #[cfg(any(all(target_arch = "aarch64", target_endian = "little"), all(target_arch = "armxxx", target_endian = "little")))] {
++ pub mod arm;
++ use arm::featureflags;
++ } else if #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] {
++--- rust-ring-0.17.14.orig/src/cpu/arm.rs
+++++ rust-ring-0.17.14/src/cpu/arm.rs
++@@ -23,7 +23,7 @@ mod abi_assumptions {
++ // (`N0`, `Limb`, `LimbMask`, `crypto_word_t` etc.).
++ #[cfg(target_arch = "aarch64")]
++ const _ASSUMED_POINTER_SIZE: usize = 8;
++- #[cfg(target_arch = "arm")]
+++ #[cfg(target_arch = "armxxx")]
++ const _ASSUMED_POINTER_SIZE: usize = 4;
++ const _ASSUMED_USIZE_SIZE: () = assert!(size_of::<usize>() == _ASSUMED_POINTER_SIZE);
++ const _ASSUMED_REF_SIZE: () = assert!(size_of::<&'static u8>() == _ASSUMED_POINTER_SIZE);
++@@ -95,7 +95,7 @@ pub(super) mod featureflags {
++ polyfill::{once_cell::race, usize_from_u32},
++ };
++ use core::num::NonZeroUsize;
++- #[cfg(all(target_arch = "arm", target_endian = "little"))]
+++ #[cfg(all(target_arch = "armxxx", target_endian = "little"))]
++ use core::sync::atomic::{AtomicU32, Ordering};
++
++ pub(in super::super) fn get_or_init() -> cpu::Features {
++@@ -114,7 +114,7 @@ pub(super) mod featureflags {
++ let merged = CAPS_STATIC | detected;
++
++ #[cfg(all(
++- target_arch = "arm",
+++ target_arch = "armxxx",
++ target_endian = "little",
++ target_has_atomic = "32"
++ ))]
++@@ -181,7 +181,7 @@ pub(super) mod featureflags {
++ ;
++
++ // TODO(MSRV): 32-bit ARM doesn't support any static feature detection yet.
++- #[cfg(all(target_arch = "arm", target_endian = "little"))]
+++ #[cfg(all(target_arch = "armxxx", target_endian = "little"))]
++ pub(in super::super) const STATIC_DETECTED: u32 = 0;
++ }
++
++--- rust-ring-0.17.14.orig/src/cpu/arm/linux.rs
+++++ rust-ring-0.17.14/src/cpu/arm/linux.rs
++@@ -75,7 +75,7 @@ pub fn detect_features() -> u32 {
++
++ #[cfg(all(
++ not(target_env = "uclibc"),
++- all(target_arch = "arm", target_endian = "little")
+++ all(target_arch = "armxxx", target_endian = "little")
++ ))]
++ pub fn detect_features() -> u32 {
++ use super::CAPS_STATIC;
++--- rust-ring-0.17.14.orig/src/digest/sha2/fallback.rs
+++++ rust-ring-0.17.14/src/digest/sha2/fallback.rs
++@@ -22,7 +22,7 @@ use core::{
++ #[cfg_attr(
++ any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86_64"
++ ),
++ allow(dead_code)
++--- rust-ring-0.17.14.orig/src/digest/sha2/mod.rs
+++++ rust-ring-0.17.14/src/digest/sha2/mod.rs
++@@ -23,7 +23,7 @@ pub(super) const CHAINING_WORDS: usize =
++
++ #[cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86_64"
++ ))]
++ #[macro_use]
++--- rust-ring-0.17.14.orig/src/digest/sha2/sha2_32.rs
+++++ rust-ring-0.17.14/src/digest/sha2/sha2_32.rs
++@@ -34,7 +34,7 @@ pub(crate) fn block_data_order_32(
++ } else {
++ sha2_32_ffi!(unsafe { () => sha256_block_data_order_nohw }, state, data, ())
++ }
++- } else if #[cfg(all(target_arch = "arm", target_endian = "little"))] {
+++ } else if #[cfg(all(target_arch = "armxxx", target_endian = "little"))] {
++ use cpu::{GetFeature as _, arm::Neon};
++ if let Some(cpu) = cpu.get_feature() {
++ sha2_32_ffi!(unsafe { Neon => sha256_block_data_order_neon }, state, data, cpu)
++--- rust-ring-0.17.14.orig/src/digest/sha2/sha2_64.rs
+++++ rust-ring-0.17.14/src/digest/sha2/sha2_64.rs
++@@ -34,7 +34,7 @@ pub(crate) fn block_data_order_64(
++ } else {
++ sha2_64_ffi!(unsafe { () => sha512_block_data_order_nohw }, state, data, ())
++ }
++- } else if #[cfg(all(target_arch = "arm", target_endian = "little"))] {
+++ } else if #[cfg(all(target_arch = "armxxx", target_endian = "little"))] {
++ use cpu::{GetFeature as _, arm::Neon};
++ if let Some(cpu) = cpu.get_feature() {
++ sha2_64_ffi!(unsafe { Neon => sha512_block_data_order_neon }, state, data, cpu)
++--- rust-ring-0.17.14.orig/src/ec/curve25519/x25519.rs
+++++ rust-ring-0.17.14/src/ec/curve25519/x25519.rs
++@@ -68,7 +68,7 @@ fn x25519_public_from_private(
++ let private_key = ops::MaskedScalar::from_bytes_masked(*private_key);
++
++ #[cfg(all(
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ any(target_os = "android", target_os = "linux")
++ ))]
++ if let Some(cpu) = <cpu::Features as cpu::GetFeature<_>>::get_feature(&cpu_features) {
++@@ -115,7 +115,7 @@ fn x25519_ecdh(
++ #[allow(unused_variables)] cpu_features: cpu::Features,
++ ) {
++ #[cfg(all(
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ any(target_os = "android", target_os = "linux")
++ ))]
++ if let Some(cpu) = <cpu::Features as cpu::GetFeature<_>>::get_feature(&cpu_features) {
++@@ -166,7 +166,7 @@ fn x25519_ecdh(
++
++ // BoringSSL uses `!defined(OPENSSL_APPLE)`.
++ #[cfg(all(
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ any(target_os = "android", target_os = "linux")
++ ))]
++ fn x25519_neon(
++--- rust-ring-0.17.14.orig/src/lib.rs
+++++ rust-ring-0.17.14/src/lib.rs
++@@ -82,7 +82,7 @@
++ #![cfg_attr(
++ not(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86",
++ target_arch = "x86_64",
++ feature = "alloc"
++--- rust-ring-0.17.14.orig/src/polyfill.rs
+++++ rust-ring-0.17.14/src/polyfill.rs
++@@ -63,7 +63,7 @@ mod leading_zeros_skipped;
++
++ #[cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86",
++ target_arch = "x86_64"
++ ))]
++--- rust-ring-0.17.14.orig/src/polyfill/slice/as_chunks.rs
+++++ rust-ring-0.17.14/src/polyfill/slice/as_chunks.rs
++@@ -37,7 +37,7 @@ impl<'a, T, const N: usize> AsChunks<'a,
++ self.0
++ }
++
++- #[cfg(any(target_arch = "aarch64", target_arch = "arm", target_arch = "x86_64"))]
+++ #[cfg(any(target_arch = "aarch64", target_arch = "armxxx", target_arch = "x86_64"))]
++ #[inline(always)]
++ pub fn as_ptr(&self) -> *const [T; N] {
++ self.0.as_ptr().cast()
++--- rust-ring-0.17.14.orig/src/prefixed.rs
+++++ rust-ring-0.17.14/src/prefixed.rs
++@@ -84,7 +84,7 @@ macro_rules! prefixed_extern {
++ #[deprecated = "`#[export_name]` creates problems and we will stop doing it."]
++ #[cfg(not(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++- all(target_arch = "arm", target_endian = "little"),
+++ all(target_arch = "armxxx", target_endian = "little"),
++ target_arch = "x86",
++ target_arch = "x86_64"
++ )))]
--- /dev/null
--- /dev/null
++Index: ring/Cargo.toml
++===================================================================
++--- ring.orig/Cargo.toml
+++++ ring/Cargo.toml
++@@ -210,1 +210,0 @@
++-slow_tests = []
--- /dev/null
--- /dev/null
++Index: ring/tests/ed25519_tests.rs
++===================================================================
++--- ring.orig/tests/ed25519_tests.rs
+++++ ring/tests/ed25519_tests.rs
++@@ -27,7 +27,7 @@ use wasm_bindgen_test::{wasm_bindgen_tes
++ #[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
++ wasm_bindgen_test_configure!(run_in_browser);
++
++-/// Test vectors from BoringSSL.
+++/* /// Test vectors from BoringSSL.
++ #[test]
++ fn test_signature_ed25519() {
++ test::run(test_file!("ed25519_tests.txt"), |section, test_case| {
++@@ -69,10 +69,10 @@ fn test_signature_ed25519() {
++
++ Ok(())
++ });
++-}
+++} */
++
++ /// Test vectors from BoringSSL.
++-#[test]
+++/*#[test]
++ fn test_signature_ed25519_verify() {
++ test::run(
++ test_file!("ed25519_verify_tests.txt"),
++@@ -91,7 +91,7 @@ fn test_signature_ed25519_verify() {
++ Ok(())
++ },
++ );
++-}
+++}*/
++
++ fn test_signature_verification(
++ public_key: &[u8],
++@@ -127,7 +127,7 @@ enum FromPkcs8Variant {
++ MaybeUnchecked,
++ }
++
++-#[test]
+++/* #[test]
++ fn test_ed25519_from_pkcs8_unchecked() {
++ test_ed25519_from_pkcs8_(
++ FromPkcs8Variant::MaybeUnchecked,
++@@ -189,7 +189,7 @@ fn test_ed25519_from_pkcs8_(
++ Ok(())
++ },
++ );
++-}
+++} */
++
++ #[test]
++ fn ed25519_test_generate_pkcs8() {
++Index: ring/src/aead/aes.rs
++===================================================================
++--- ring.orig/src/aead/aes.rs
+++++ ring/src/aead/aes.rs
++@@ -209,7 +209,7 @@ mod tests {
++ use super::*;
++ use crate::testutil as test;
++
++- #[test]
+++ /* #[test]
++ pub fn test_aes() {
++ test::run(test_vector_file!("aes_tests.txt"), |section, test_case| {
++ assert_eq!(section, "");
++@@ -223,7 +223,7 @@ mod tests {
++
++ Ok(())
++ })
++- }
+++ } */
++
++ fn consume_key(test_case: &mut test::TestCase, name: &str) -> Key {
++ let key = test_case.consume_bytes(name);
++Index: ring/src/aead/chacha.rs
++===================================================================
++--- ring.orig/src/aead/chacha.rs
+++++ ring/src/aead/chacha.rs
++@@ -213,7 +213,7 @@ mod tests {
++ (0, 0)
++ };
++
++- #[test]
+++ /* #[test]
++ fn chacha20_test_default() {
++ // Always use `MAX_OFFSET` if we hav assembly code.
++ let max_offset = if cfg!(any(
++@@ -235,7 +235,7 @@ mod tests {
++ chacha20_test(MAX_ALIGNMENT_AND_OFFSET_SUBSET, |key, ctr, in_out, _cpu| {
++ fallback::ChaCha20_ctr32(key, ctr, in_out)
++ });
++- }
+++ } */
++
++ // Verifies the encryption is successful when done on overlapping buffers.
++ //
++@@ -244,7 +244,7 @@ mod tests {
++ // not exactly overlapping. Such failures are dependent not only on the
++ // degree of overlapping but also the length of the data. `encrypt_within`
++ // works around that.
++- fn chacha20_test(
+++ /*fn chacha20_test(
++ max_alignment_and_offset: (usize, usize),
++ f: impl for<'k, 'o> Fn(&'k Key, Counter, Overlapping<'o>, cpu::Features),
++ ) {
++@@ -288,7 +288,7 @@ mod tests {
++ Ok(())
++ },
++ );
++- }
+++ }*/
++
++ fn chacha20_test_case_inner(
++ key: &Key,
++Index: ring/src/arithmetic/bigint.rs
++===================================================================
++--- ring.orig/src/arithmetic/bigint.rs
+++++ ring/src/arithmetic/bigint.rs
++@@ -841,7 +841,7 @@ mod tests {
++
++ impl PublicModulus for M {}
++
++- #[test]
+++ /* #[test]
++ fn test_elem_exp_consttime() {
++ let cpu_features = cpu::features();
++ test::run(
++@@ -947,9 +947,9 @@ mod tests {
++ Ok(())
++ },
++ )
++- }
+++ } */
++
++- #[test]
+++ /* #[test]
++ fn test_elem_squared() {
++ let cpu_features = cpu::features();
++ test::run(
++@@ -970,9 +970,9 @@ mod tests {
++ Ok(())
++ },
++ )
++- }
+++ } */
++
++- #[test]
+++ /* #[test]
++ fn test_elem_reduced() {
++ let cpu_features = cpu::features();
++ test::run(
++@@ -1022,7 +1022,7 @@ mod tests {
++ Ok(())
++ },
++ )
++- }
+++ } */
++
++ fn consume_elem<M>(
++ test_case: &mut test::TestCase,
++Index: ring/src/ec/suite_b/ops.rs
++===================================================================
++--- ring.orig/src/ec/suite_b/ops.rs
+++++ ring/src/ec/suite_b/ops.rs
++@@ -656,7 +656,7 @@ mod tests {
++ q_minus_n_plus_n_equals_0_test(&p384::PUBLIC_SCALAR_OPS);
++ }
++
++- #[test]
+++ /* #[test]
++ fn p256_elem_add_test() {
++ elem_add_test(
++ &p256::PUBLIC_SCALAR_OPS,
++@@ -670,7 +670,7 @@ mod tests {
++ &p384::PUBLIC_SCALAR_OPS,
++ test_vector_file!("ops/p384_elem_sum_tests.txt"),
++ );
++- }
+++ } */
++
++ fn elem_add_test(ops: &PublicScalarOps, test_file: test::File) {
++ let cops = ops.public_key_ops.common;
++@@ -697,7 +697,7 @@ mod tests {
++ // XXX: There's no `p256_sub` in *ring*; it's logic is inlined into
++ // the point arithmetic functions. Thus, we can't test it.
++
++- #[test]
+++ /* #[test]
++ fn p384_elem_sub_test() {
++ prefixed_extern! {
++ fn p384_elem_sub(r: *mut Limb, a: *const Limb, b: *const Limb);
++@@ -707,7 +707,7 @@ mod tests {
++ p384_elem_sub,
++ test_vector_file!("ops/p384_elem_sum_tests.txt"),
++ );
++- }
+++ } */
++
++ fn elem_sub_test(
++ ops: &'static CommonOps,
++@@ -749,7 +749,7 @@ mod tests {
++ // XXX: There's no `p256_div_by_2` in *ring*; it's logic is inlined
++ // into the point arithmetic functions. Thus, we can't test it.
++
++- #[test]
+++ /* #[test]
++ fn p384_elem_div_by_2_test() {
++ prefixed_extern! {
++ fn p384_elem_div_by_2(r: *mut Limb, a: *const Limb);
++@@ -759,7 +759,7 @@ mod tests {
++ p384_elem_div_by_2,
++ test_vector_file!("ops/p384_elem_div_by_2_tests.txt"),
++ );
++- }
+++ } */
++
++ fn elem_div_by_2_test(
++ ops: &'static CommonOps,
++@@ -784,7 +784,7 @@ mod tests {
++ }
++
++ // There is no `ecp_nistz256_neg` on other targets.
++- #[cfg(target_arch = "x86_64")]
+++ /* #[cfg(target_arch = "x86_64")]
++ #[test]
++ fn p256_elem_neg_test() {
++ prefixed_extern! {
++@@ -807,7 +807,7 @@ mod tests {
++ p384_elem_neg,
++ test_vector_file!("ops/p384_elem_neg_tests.txt"),
++ );
++- }
+++ } */
++
++ fn elem_neg_test(
++ ops: &'static CommonOps,
++@@ -843,7 +843,7 @@ mod tests {
++ })
++ }
++
++- #[test]
+++ /* #[test]
++ fn p256_elem_mul_test() {
++ elem_mul_test(
++ &p256::COMMON_OPS,
++@@ -857,7 +857,7 @@ mod tests {
++ &p384::COMMON_OPS,
++ test_vector_file!("ops/p384_elem_mul_tests.txt"),
++ );
++- }
+++ }*/
++
++ fn elem_mul_test(ops: &'static CommonOps, test_file: test::File) {
++ let q = &ops.elem_modulus(cpu::features());
++@@ -874,7 +874,7 @@ mod tests {
++ })
++ }
++
++- #[test]
+++ /* #[test]
++ fn p256_scalar_mul_test() {
++ scalar_mul_test(
++ &p256::SCALAR_OPS,
++@@ -888,7 +888,7 @@ mod tests {
++ &p384::SCALAR_OPS,
++ test_vector_file!("ops/p384_scalar_mul_tests.txt"),
++ );
++- }
+++ } */
++
++ fn scalar_mul_test(ops: &ScalarOps, test_file: test::File) {
++ let cpu = cpu::features();
++@@ -906,7 +906,7 @@ mod tests {
++ })
++ }
++
++- #[test]
+++ /* #[test]
++ fn p256_scalar_square_test() {
++ prefixed_extern! {
++ fn p256_scalar_sqr_rep_mont(r: *mut Limb, a: *const Limb, rep: LeakyWord);
++@@ -916,7 +916,7 @@ mod tests {
++ p256_scalar_sqr_rep_mont,
++ test_vector_file!("ops/p256_scalar_square_tests.txt"),
++ );
++- }
+++ } */
++
++ // XXX: There's no `p384_scalar_square_test()` because there's no dedicated
++ // `p384_scalar_sqr_rep_mont()`.
++@@ -968,7 +968,7 @@ mod tests {
++ let _ = p384::PRIVATE_SCALAR_OPS.scalar_inv_to_mont(&ZERO_SCALAR, cpu::features());
++ }
++
++- #[test]
+++ /* #[test]
++ fn p256_point_sum_test() {
++ point_sum_test(
++ &p256::PRIVATE_KEY_OPS,
++@@ -982,7 +982,7 @@ mod tests {
++ &p384::PRIVATE_KEY_OPS,
++ test_vector_file!("ops/p384_point_sum_tests.txt"),
++ );
++- }
+++ } */
++
++ fn point_sum_test(ops: &PrivateKeyOps, test_file: test::File) {
++ let cpu = cpu::features();
++@@ -1001,7 +1001,7 @@ mod tests {
++ });
++ }
++
++- #[test]
+++ /* #[test]
++ fn p256_point_sum_mixed_test() {
++ prefixed_extern! {
++ fn p256_point_add_affine(
++@@ -1015,7 +1015,7 @@ mod tests {
++ p256_point_add_affine,
++ test_vector_file!("ops/p256_point_sum_mixed_tests.txt"),
++ );
++- }
+++ } */
++
++ // XXX: There is no `nistz384_point_add_affine()`.
++
++@@ -1046,7 +1046,7 @@ mod tests {
++ });
++ }
++
++- #[test]
+++ /* #[test]
++ fn p256_point_double_test() {
++ prefixed_extern! {
++ fn p256_point_double(
++@@ -1074,7 +1074,7 @@ mod tests {
++ p384_point_double,
++ test_vector_file!("ops/p384_point_double_tests.txt"),
++ );
++- }
+++ } */
++
++ fn point_double_test(
++ ops: &PrivateKeyOps,
++@@ -1102,7 +1102,7 @@ mod tests {
++ }
++
++ /// TODO: We should be testing `point_mul` with points other than the generator.
++- #[test]
+++ /* #[test]
++ fn p256_point_mul_test() {
++ let generator = (
++ Elem::from(&p256::GENERATOR.0),
++@@ -1113,9 +1113,9 @@ mod tests {
++ |s, cpu| p256::PRIVATE_KEY_OPS.point_mul(s, &generator, cpu),
++ test_vector_file!("ops/p256_point_mul_base_tests.txt"),
++ );
++- }
+++ } */
++
++- /// TODO: We should be testing `point_mul` with points other than the generator.
+++ /* /// TODO: We should be testing `point_mul` with points other than the generator.
++ #[test]
++ fn p384_point_mul_test() {
++ let generator = (
++@@ -1137,7 +1137,7 @@ mod tests {
++ &p256::PUBLIC_KEY_OPS,
++ test_vector_file!("ops/p256_point_mul_serialized_tests.txt"),
++ );
++- }
+++ }*/
++
++ fn point_mul_serialized_test(
++ priv_ops: &PrivateKeyOps,
++@@ -1183,7 +1183,7 @@ mod tests {
++ })
++ }
++
++- #[test]
+++ /* #[test]
++ fn p256_point_mul_base_test() {
++ point_mul_base_tests(
++ &p256::PRIVATE_KEY_OPS,
++@@ -1199,7 +1199,7 @@ mod tests {
++ |s, cpu| p384::PRIVATE_KEY_OPS.point_mul_base(s, cpu),
++ test_vector_file!("ops/p384_point_mul_base_tests.txt"),
++ );
++- }
+++ }*/
++
++ pub(super) fn point_mul_base_tests(
++ ops: &PrivateKeyOps,
++Index: ring/src/ec/suite_b/public_key.rs
++===================================================================
++--- ring.orig/src/ec/suite_b/public_key.rs
+++++ ring/src/ec/suite_b/public_key.rs
++@@ -71,7 +71,7 @@ mod tests {
++ use crate::cpu;
++ use crate::testutil as test;
++
++- #[test]
+++ /* #[test]
++ fn parse_uncompressed_point_test() {
++ let cpu = cpu::features();
++ test::run(
++@@ -97,7 +97,7 @@ mod tests {
++ Ok(())
++ },
++ );
++- }
+++ }*/
++
++ fn public_key_ops_from_curve_name(curve_name: &str) -> &'static PublicKeyOps {
++ if curve_name == "P-256" {
++Index: ring/src/rsa/padding.rs
++===================================================================
++--- ring.orig/src/rsa/padding.rs
+++++ ring/src/rsa/padding.rs
++@@ -97,7 +97,7 @@ mod test {
++ use crate::{digest, error};
++ use alloc::vec;
++
++- #[test]
+++ /* #[test]
++ fn test_pss_padding_verify() {
++ test::run(
++ test_vector_file!("rsa_pss_padding_tests.txt"),
++@@ -132,10 +132,10 @@ mod test {
++ Ok(())
++ },
++ );
++- }
+++ }*/
++
++ // Tests PSS encoding for various public modulus lengths.
++- #[cfg(feature = "alloc")]
+++ /*#[cfg(feature = "alloc")]
++ #[test]
++ fn test_pss_padding_encode() {
++ test::run(
++@@ -173,5 +173,5 @@ mod test {
++ Ok(())
++ },
++ );
++- }
+++ }*/
++ }
++Index: ring/src/testutil.rs
++===================================================================
++--- ring.orig/src/testutil.rs
+++++ ring/src/testutil.rs
++@@ -541,7 +541,7 @@ mod tests {
++ use crate::error;
++ use crate::testutil as test;
++
++- #[test]
+++ /* #[test]
++ fn one_ok() {
++ test::run(test_vector_file!("test_1_tests.txt"), |_, test_case| {
++ let _ = test_case.consume_string("Key");
++@@ -565,9 +565,9 @@ mod tests {
++ let _ = test_case.consume_string("Key");
++ panic!("Oh noes!");
++ });
++- }
+++ } */
++
++- #[test]
+++ /* #[test]
++ #[should_panic(expected = "Test failed.")]
++ fn first_err() {
++ err_one(0)
++@@ -636,5 +636,5 @@ mod tests {
++ test_vector_file!("test_1_syntax_error_tests.txt"),
++ |_, _| Ok(()),
++ );
++- }
+++ } */
++ }
++Index: ring/tests/aead_tests.rs
++===================================================================
++--- ring.orig/tests/aead_tests.rs
+++++ ring/tests/aead_tests.rs
++@@ -82,11 +82,11 @@ macro_rules! test_aead {
++ }
++ }
++
++-test_aead! {
+++/*test_aead! {
++ { AES_128_GCM, "aead_aes_128_gcm_tests.txt" },
++ { AES_256_GCM, "aead_aes_256_gcm_tests.txt" },
++ { CHACHA20_POLY1305, "aead_chacha20_poly1305_tests.txt" },
++-}
+++}*/
++
++ struct KnownAnswerTestCase<'a> {
++ key: &'a [u8],
++@@ -445,7 +445,7 @@ fn test_aead_nonce_sizes() {
++ assert!(aead::Nonce::try_assume_unique_for_key(&nonce[..16]).is_err()); // 128 bits.
++ }
++
++-#[allow(clippy::range_plus_one)]
+++/* #[allow(clippy::range_plus_one)]
++ #[test]
++ fn aead_chacha20_poly1305_openssh() {
++ // TODO: test_aead_key_sizes(...);
++@@ -492,7 +492,7 @@ fn aead_chacha20_poly1305_openssh() {
++ Ok(())
++ },
++ );
++-}
+++} */
++
++ #[test]
++ fn aead_test_aad_traits() {
++Index: ring/tests/agreement_tests.rs
++===================================================================
++--- ring.orig/tests/agreement_tests.rs
+++++ ring/tests/agreement_tests.rs
++@@ -72,7 +72,7 @@ fn agreement_traits() {
++ assert_eq!(unparsed_public_key.as_ref(), &[0x01, 0x02, 0x03]);
++ }
++
++-#[test]
+++/* #[test]
++ fn agreement_agree_ephemeral() {
++ let rng = rand::SystemRandom::new();
++
++@@ -128,7 +128,7 @@ fn agreement_agree_ephemeral() {
++
++ Ok(())
++ });
++-}
+++} */
++
++ #[test]
++ fn test_agreement_ecdh_x25519_rfc_iterated() {
++Index: ring/tests/digest_tests.rs
++===================================================================
++--- ring.orig/tests/digest_tests.rs
+++++ ring/tests/digest_tests.rs
++@@ -25,7 +25,7 @@ use wasm_bindgen_test::{wasm_bindgen_tes
++ wasm_bindgen_test_configure!(run_in_browser);
++
++ /// Test vectors from BoringSSL, Go, and other sources.
++-#[test]
+++/* #[test]
++ fn digest_misc() {
++ test::run(test_file!("digest_tests.txt"), |section, test_case| {
++ assert_eq!(section, "");
++@@ -48,7 +48,7 @@ fn digest_misc() {
++
++ Ok(())
++ });
++-}
+++} */
++
++ /// Test some ways in which `Context::update` and/or `Context::finish`
++ /// could go wrong by testing every combination of updating three inputs
++Index: ring/tests/ecdsa_tests.rs
++===================================================================
++--- ring.orig/tests/ecdsa_tests.rs
+++++ ring/tests/ecdsa_tests.rs
++@@ -23,7 +23,7 @@ use ring::{test, test_file};
++
++ // ECDSA *signing* tests are in src/ec/ecdsa/signing.rs.
++
++-#[test]
+++/* #[test]
++ fn ecdsa_from_pkcs8_test() {
++ let rng = rand::SystemRandom::new();
++
++@@ -87,7 +87,7 @@ fn ecdsa_from_pkcs8_test() {
++ Ok(())
++ },
++ );
++-}
+++} */
++
++ // Verify that, at least, we generate PKCS#8 documents that we can read.
++ #[test]
++@@ -113,7 +113,7 @@ fn ecdsa_generate_pkcs8_test() {
++ }
++ }
++
++-#[test]
+++/* #[test]
++ fn signature_ecdsa_verify_asn1_test() {
++ test::run(
++ test_file!("ecdsa_verify_asn1_tests.txt"),
++@@ -144,7 +144,7 @@ fn signature_ecdsa_verify_asn1_test() {
++ Ok(())
++ },
++ );
++-}
+++}
++
++ #[test]
++ fn signature_ecdsa_verify_fixed_test() {
++@@ -178,7 +178,7 @@ fn signature_ecdsa_verify_fixed_test() {
++ Ok(())
++ },
++ );
++-}
+++} */
++
++ #[test]
++ fn ecdsa_test_public_key_coverage() {
++@@ -217,7 +217,7 @@ fn ecdsa_test_public_key_coverage() {
++ // different each time. Because of that, here we simply verify that the
++ // signature verifies correctly. The known-answer tests themselves are in
++ // ecsda/signing.rs.
++-#[test]
+++/* #[test]
++ fn signature_ecdsa_sign_fixed_sign_and_verify_test() {
++ let rng = rand::SystemRandom::new();
++
++@@ -264,9 +264,9 @@ fn signature_ecdsa_sign_fixed_sign_and_v
++ Ok(())
++ },
++ );
++-}
+++} */
++
++-// This test is not a known-answer test, though it re-uses the known-answer
+++/* // This test is not a known-answer test, though it re-uses the known-answer
++ // test vectors. Because the nonce is randomized, the signature will be
++ // different each time. Because of that, here we simply verify that the
++ // signature verifies correctly. The known-answer tests themselves are in
++@@ -318,4 +318,4 @@ fn signature_ecdsa_sign_asn1_test() {
++ Ok(())
++ },
++ );
++-}
+++}*/
++Index: ring/tests/hkdf_tests.rs
++===================================================================
++--- ring.orig/tests/hkdf_tests.rs
+++++ ring/tests/hkdf_tests.rs
++@@ -24,7 +24,7 @@ use wasm_bindgen_test::{wasm_bindgen_tes
++ #[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
++ wasm_bindgen_test_configure!(run_in_browser);
++
++-#[test]
+++/* #[test]
++ fn hkdf_tests() {
++ test::run(test_file!("hkdf_tests.txt"), |section, test_case| {
++ assert_eq!(section, "");
++@@ -57,7 +57,7 @@ fn hkdf_tests() {
++
++ Ok(())
++ });
++-}
+++} */
++
++ #[test]
++ fn hkdf_output_len_tests() {
++Index: ring/tests/hmac_tests.rs
++===================================================================
++--- ring.orig/tests/hmac_tests.rs
+++++ ring/tests/hmac_tests.rs
++@@ -24,7 +24,7 @@ use wasm_bindgen_test::{wasm_bindgen_tes
++ #[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
++ wasm_bindgen_test_configure!(run_in_browser);
++
++-#[test]
+++/*#[test]
++ fn hmac_tests() {
++ test::run(test_file!("hmac_tests.txt"), |section, test_case| {
++ assert_eq!(section, "");
++@@ -66,7 +66,7 @@ fn hmac_tests() {
++
++ Ok(())
++ });
++-}
+++} */
++
++ fn hmac_test_case_inner(
++ algorithm: hmac::Algorithm,
++Index: ring/tests/pbkdf2_tests.rs
++===================================================================
++--- ring.orig/tests/pbkdf2_tests.rs
+++++ ring/tests/pbkdf2_tests.rs
++@@ -25,7 +25,7 @@ use wasm_bindgen_test::{wasm_bindgen_tes
++ #[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
++ wasm_bindgen_test_configure!(run_in_browser);
++
++-/// Test vectors from BoringSSL, Go, and other sources.
+++/* /// Test vectors from BoringSSL, Go, and other sources.
++ #[test]
++ pub fn pbkdf2_tests() {
++ test::run(test_file!("pbkdf2_tests.txt"), |section, test_case| {
++@@ -69,4 +69,4 @@ pub fn pbkdf2_tests() {
++
++ Ok(())
++ });
++-}
+++} */
++Index: ring/tests/quic_tests.rs
++===================================================================
++--- ring.orig/tests/quic_tests.rs
+++++ ring/tests/quic_tests.rs
++@@ -18,7 +18,7 @@ use ring::aead::quic;
++ #[allow(deprecated)]
++ use ring::{test, test_file};
++
++-#[test]
+++/* #[test]
++ fn quic_aes_128() {
++ test_quic(&quic::AES_128, test_file!("quic_aes_128_tests.txt"));
++ }
++@@ -31,7 +31,7 @@ fn quic_aes_256() {
++ #[test]
++ fn quic_chacha20() {
++ test_quic(&quic::CHACHA20, test_file!("quic_chacha20_tests.txt"));
++-}
+++}*/
++
++ fn test_quic(alg: &'static quic::Algorithm, test_file: test::File) {
++ test_key_len(alg);
++Index: ring/tests/rsa_tests.rs
++===================================================================
++--- ring.orig/tests/rsa_tests.rs
+++++ ring/tests/rsa_tests.rs
++@@ -30,7 +30,7 @@ use wasm_bindgen_test::{wasm_bindgen_tes
++ #[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
++ wasm_bindgen_test_configure!(run_in_browser);
++
++-#[test]
+++/* #[test]
++ fn rsa_from_pkcs8_test() {
++ test::run(
++ test_file!("rsa_from_pkcs8_tests.txt"),
++@@ -50,9 +50,9 @@ fn rsa_from_pkcs8_test() {
++ Ok(())
++ },
++ );
++-}
+++} */
++
++-#[cfg(feature = "alloc")]
+++/* #[cfg(feature = "alloc")]
++ #[test]
++ fn test_signature_rsa_pkcs1_sign() {
++ let rng = rand::SystemRandom::new();
++@@ -91,9 +91,9 @@ fn test_signature_rsa_pkcs1_sign() {
++ Ok(())
++ },
++ );
++-}
+++} */
++
++-#[cfg(feature = "alloc")]
+++/* #[cfg(feature = "alloc")]
++ #[test]
++ fn test_signature_rsa_pss_sign() {
++ test::run(
++@@ -129,7 +129,7 @@ fn test_signature_rsa_pss_sign() {
++ Ok(())
++ },
++ );
++-}
+++}*/
++
++ // `KeyPair::sign` requires that the output buffer is the same length as
++ // the public key modulus. Test what happens when it isn't the same length.
++@@ -159,7 +159,7 @@ fn test_signature_rsa_pkcs1_sign_output_
++ }
++ }
++
++-#[cfg(feature = "alloc")]
+++/* #[cfg(feature = "alloc")]
++ #[test]
++ fn test_signature_rsa_pkcs1_verify() {
++ let sha1_params = &[
++@@ -238,9 +238,9 @@ fn test_signature_rsa_pkcs1_verify() {
++ Ok(())
++ },
++ );
++-}
+++} */
++
++-#[cfg(feature = "alloc")]
+++/* #[cfg(feature = "alloc")]
++ #[test]
++ fn test_signature_rsa_pss_verify() {
++ test::run(
++@@ -285,11 +285,11 @@ fn test_signature_rsa_pss_verify() {
++ Ok(())
++ },
++ );
++-}
+++} */
++
++ // Test for `primitive::verify()`. Read public key parts from a file
++ // and use them to verify a signature.
++-#[cfg(feature = "alloc")]
+++/* #[cfg(feature = "alloc")]
++ #[test]
++ fn test_signature_rsa_primitive_verification() {
++ test::run(
++@@ -307,7 +307,7 @@ fn test_signature_rsa_primitive_verifica
++ Ok(())
++ },
++ )
++-}
+++}*/
++
++ #[cfg(feature = "alloc")]
++ #[test]
++Index: ring/src/ec/suite_b/ecdsa/digest_scalar.rs
++===================================================================
++--- ring.orig/src/ec/suite_b/ecdsa/digest_scalar.rs
+++++ ring/src/ec/suite_b/ecdsa/digest_scalar.rs
++@@ -71,7 +71,7 @@ mod tests {
++ use crate::testutil as test;
++ use crate::{cpu, digest, ec::suite_b::ops::*, limb};
++
++- #[test]
+++ /*#[test]
++ fn test() {
++ let cpu = cpu::features();
++ test::run(
++@@ -115,5 +115,5 @@ mod tests {
++ Ok(())
++ },
++ );
++- }
+++ }*/
++ }
++Index: ring/src/ec/suite_b/ecdsa/signing.rs
++===================================================================
++--- ring.orig/src/ec/suite_b/ecdsa/signing.rs
+++++ ring/src/ec/suite_b/ecdsa/signing.rs
++@@ -529,7 +529,7 @@ mod tests {
++ use crate::testutil as test;
++ use crate::{rand, signature};
++
++- #[test]
+++ /*#[test]
++ fn signature_ecdsa_sign_fixed_test() {
++ let rng = rand::SystemRandom::new();
++
++@@ -611,5 +611,5 @@ mod tests {
++ Ok(())
++ },
++ );
++- }
+++ }*/
++ }
++Index: ring/src/ec/suite_b/ops/p256.rs
++===================================================================
++--- ring.orig/src/ec/suite_b/ops/p256.rs
+++++ ring/src/ec/suite_b/ops/p256.rs
++@@ -316,7 +316,7 @@ prefixed_extern! {
++ );
++ }
++
++-#[cfg(test)]
+++/*#[cfg(test)]
++ mod tests {
++ #[cfg(any(
++ all(target_arch = "aarch64", target_endian = "little"),
++@@ -331,4 +331,4 @@ mod tests {
++ test_vector_file!("p256_point_mul_base_tests.txt"),
++ );
++ }
++-}
+++}*/
++Index: ring/src/rsa/keypair.rs
++===================================================================
++--- ring.orig/src/rsa/keypair.rs
+++++ ring/src/rsa/keypair.rs
++@@ -651,7 +651,7 @@ mod tests {
++ use crate::testutil as test;
++ use alloc::vec;
++
++- #[test]
+++ /*#[test]
++ fn test_rsakeypair_private_exponentiate() {
++ let cpu = cpu::features();
++ test::run(
++@@ -681,5 +681,5 @@ mod tests {
++ Ok(())
++ },
++ );
++- }
+++ }*/
++ }
--- /dev/null
--- /dev/null
++Index: ring/src/aead/aes.rs
++===================================================================
++--- ring.orig/src/aead/aes.rs
+++++ ring/src/aead/aes.rs
++@@ -205,6 +205,7 @@ fn encrypt_iv_xor_block_using_ctr32(key:
++ }
++
++ #[cfg(test)]
+++#[cfg(feature = "alloc")]
++ mod tests {
++ use super::*;
++ use crate::testutil as test;
++Index: ring/src/aead/poly1305.rs
++===================================================================
++--- ring.orig/src/aead/poly1305.rs
+++++ ring/src/aead/poly1305.rs
++@@ -90,6 +90,7 @@ pub(super) fn sign(key: Key, input: &[u8
++ }
++
++ #[cfg(test)]
+++#[cfg(feature = "alloc")]
++ mod tests {
++ use super::*;
++ use crate::testutil as test;
++Index: ring/src/ec/suite_b/ecdsa/digest_scalar.rs
++===================================================================
++--- ring.orig/src/ec/suite_b/ecdsa/digest_scalar.rs
+++++ ring/src/ec/suite_b/ecdsa/digest_scalar.rs
++@@ -66,6 +66,7 @@ fn digest_scalar_(n: &Modulus<N>, digest
++ }
++
++ #[cfg(test)]
+++#[cfg(feature = "alloc")]
++ mod tests {
++ use super::digest_bytes_scalar;
++ use crate::testutil as test;
++Index: ring/src/ec/suite_b/ecdsa/signing.rs
++===================================================================
++--- ring.orig/src/ec/suite_b/ecdsa/signing.rs
+++++ ring/src/ec/suite_b/ecdsa/signing.rs
++@@ -525,6 +525,7 @@ static EC_PUBLIC_KEY_P384_PKCS8_V1_TEMPL
++ };
++
++ #[cfg(test)]
+++#[cfg(feature = "alloc")]
++ mod tests {
++ use crate::testutil as test;
++ use crate::{rand, signature};
++Index: ring/src/ec/suite_b/ecdsa/verification.rs
++===================================================================
++--- ring.orig/src/ec/suite_b/ecdsa/verification.rs
+++++ ring/src/ec/suite_b/ecdsa/verification.rs
++@@ -274,6 +274,7 @@ pub static ECDSA_P384_SHA384_ASN1: Ecdsa
++ };
++
++ #[cfg(test)]
+++#[cfg(feature = "alloc")]
++ mod tests {
++ extern crate alloc;
++ use super::*;
++Index: ring/src/ec/suite_b/ops.rs
++===================================================================
++--- ring.orig/src/ec/suite_b/ops.rs
+++++ ring/src/ec/suite_b/ops.rs
++@@ -665,6 +665,7 @@ mod tests {
++ }
++
++ #[test]
+++ #[cfg(feature = "alloc")]
++ fn p384_elem_add_test() {
++ elem_add_test(
++ &p384::PUBLIC_SCALAR_OPS,
++@@ -672,6 +673,7 @@ mod tests {
++ );
++ } */
++
+++ #[cfg(feature = "alloc")]
++ fn elem_add_test(ops: &PublicScalarOps, test_file: test::File) {
++ let cops = ops.public_key_ops.common;
++ let q = &cops.elem_modulus(cpu::features());
++@@ -698,6 +700,7 @@ mod tests {
++ // the point arithmetic functions. Thus, we can't test it.
++
++ /* #[test]
+++ #[cfg(feature = "alloc")]
++ fn p384_elem_sub_test() {
++ prefixed_extern! {
++ fn p384_elem_sub(r: *mut Limb, a: *const Limb, b: *const Limb);
++@@ -709,6 +712,7 @@ mod tests {
++ );
++ } */
++
+++ #[cfg(feature = "alloc")]
++ fn elem_sub_test(
++ ops: &'static CommonOps,
++ elem_sub: unsafe extern "C" fn(r: *mut Limb, a: *const Limb, b: *const Limb),
++@@ -750,6 +754,7 @@ mod tests {
++ // into the point arithmetic functions. Thus, we can't test it.
++
++ /* #[test]
+++ #[cfg(feature = "alloc")]
++ fn p384_elem_div_by_2_test() {
++ prefixed_extern! {
++ fn p384_elem_div_by_2(r: *mut Limb, a: *const Limb);
++@@ -761,6 +766,7 @@ mod tests {
++ );
++ } */
++
+++ #[cfg(feature = "alloc")]
++ fn elem_div_by_2_test(
++ ops: &'static CommonOps,
++ elem_div_by_2: unsafe extern "C" fn(r: *mut Limb, a: *const Limb),
++@@ -786,6 +792,7 @@ mod tests {
++ // There is no `ecp_nistz256_neg` on other targets.
++ /* #[cfg(target_arch = "x86_64")]
++ #[test]
+++ #[cfg(feature = "alloc")]
++ fn p256_elem_neg_test() {
++ prefixed_extern! {
++ fn ecp_nistz256_neg(r: *mut Limb, a: *const Limb);
++@@ -798,6 +805,7 @@ mod tests {
++ }
++
++ #[test]
+++ #[cfg(feature = "alloc")]
++ fn p384_elem_neg_test() {
++ prefixed_extern! {
++ fn p384_elem_neg(r: *mut Limb, a: *const Limb);
++@@ -809,6 +817,7 @@ mod tests {
++ );
++ } */
++
+++ #[cfg(feature = "alloc")]
++ fn elem_neg_test(
++ ops: &'static CommonOps,
++ elem_neg: unsafe extern "C" fn(r: *mut Limb, a: *const Limb),
++@@ -844,6 +853,7 @@ mod tests {
++ }
++
++ /* #[test]
+++ #[cfg(feature = "alloc")]
++ fn p256_elem_mul_test() {
++ elem_mul_test(
++ &p256::COMMON_OPS,
++@@ -852,11 +862,13 @@ mod tests {
++ }
++
++ #[test]
+++ #[cfg(feature = "alloc")]
++ fn p384_elem_mul_test() {
++ elem_mul_test(
++ &p384::COMMON_OPS,
++ test_vector_file!("ops/p384_elem_mul_tests.txt"),
++ );
+++ #[cfg(feature = "alloc")]
++ }*/
++
++ fn elem_mul_test(ops: &'static CommonOps, test_file: test::File) {
++@@ -875,6 +887,7 @@ mod tests {
++ }
++
++ /* #[test]
+++ #[cfg(feature = "alloc")]
++ fn p256_scalar_mul_test() {
++ scalar_mul_test(
++ &p256::SCALAR_OPS,
++@@ -883,6 +896,7 @@ mod tests {
++ }
++
++ #[test]
+++ #[cfg(feature = "alloc")]
++ fn p384_scalar_mul_test() {
++ scalar_mul_test(
++ &p384::SCALAR_OPS,
++@@ -890,6 +904,7 @@ mod tests {
++ );
++ } */
++
+++ #[cfg(feature = "alloc")]
++ fn scalar_mul_test(ops: &ScalarOps, test_file: test::File) {
++ let cpu = cpu::features();
++ let cops = ops.common;
++@@ -907,6 +922,7 @@ mod tests {
++ }
++
++ /* #[test]
+++ #[cfg(feature = "alloc")]
++ fn p256_scalar_square_test() {
++ prefixed_extern! {
++ fn p256_scalar_sqr_rep_mont(r: *mut Limb, a: *const Limb, rep: LeakyWord);
++@@ -921,6 +937,7 @@ mod tests {
++ // XXX: There's no `p384_scalar_square_test()` because there's no dedicated
++ // `p384_scalar_sqr_rep_mont()`.
++
+++ #[cfg(feature = "alloc")]
++ fn scalar_square_test(
++ ops: &ScalarOps,
++ sqr_rep: unsafe extern "C" fn(r: *mut Limb, a: *const Limb, rep: LeakyWord),
++@@ -969,6 +986,7 @@ mod tests {
++ }
++
++ /* #[test]
+++ #[cfg(feature = "alloc")]
++ fn p256_point_sum_test() {
++ point_sum_test(
++ &p256::PRIVATE_KEY_OPS,
++@@ -977,6 +995,7 @@ mod tests {
++ }
++
++ #[test]
+++ #[cfg(feature = "alloc")]
++ fn p384_point_sum_test() {
++ point_sum_test(
++ &p384::PRIVATE_KEY_OPS,
++@@ -984,6 +1003,7 @@ mod tests {
++ );
++ } */
++
+++ #[cfg(feature = "alloc")]
++ fn point_sum_test(ops: &PrivateKeyOps, test_file: test::File) {
++ let cpu = cpu::features();
++
++@@ -1019,6 +1039,7 @@ mod tests {
++
++ // XXX: There is no `nistz384_point_add_affine()`.
++
+++ #[cfg(feature = "alloc")]
++ fn point_sum_mixed_test(
++ ops: &PrivateKeyOps,
++ point_add_affine: unsafe extern "C" fn(
++@@ -1047,6 +1068,7 @@ mod tests {
++ }
++
++ /* #[test]
+++ #[cfg(feature = "alloc")]
++ fn p256_point_double_test() {
++ prefixed_extern! {
++ fn p256_point_double(
++@@ -1062,6 +1084,7 @@ mod tests {
++ }
++
++ #[test]
+++ #[cfg(feature = "alloc")]
++ fn p384_point_double_test() {
++ prefixed_extern! {
++ fn p384_point_double(
++@@ -1076,6 +1099,7 @@ mod tests {
++ );
++ } */
++
+++ #[cfg(feature = "alloc")]
++ fn point_double_test(
++ ops: &PrivateKeyOps,
++ point_double: unsafe extern "C" fn(
++@@ -1103,6 +1127,7 @@ mod tests {
++
++ /// TODO: We should be testing `point_mul` with points other than the generator.
++ /* #[test]
+++ #[cfg(feature = "alloc")]
++ fn p256_point_mul_test() {
++ let generator = (
++ Elem::from(&p256::GENERATOR.0),
++@@ -1117,6 +1142,7 @@ mod tests {
++
++ /* /// TODO: We should be testing `point_mul` with points other than the generator.
++ #[test]
+++ #[cfg(feature = "alloc")]
++ fn p384_point_mul_test() {
++ let generator = (
++ Elem::from(&p384::GENERATOR.0),
++@@ -1124,6 +1150,7 @@ mod tests {
++ );
++
++ point_mul_base_tests(
+++ #[cfg(feature = "alloc")]
++ &p384::PRIVATE_KEY_OPS,
++ |s, cpu| p384::PRIVATE_KEY_OPS.point_mul(s, &generator, cpu),
++ test_vector_file!("ops/p384_point_mul_base_tests.txt"),
++@@ -1138,7 +1165,9 @@ mod tests {
++ test_vector_file!("ops/p256_point_mul_serialized_tests.txt"),
++ );
++ }*/
+++ #[cfg(feature = "alloc")]
++
+++ #[cfg(feature = "alloc")]
++ fn point_mul_serialized_test(
++ priv_ops: &PrivateKeyOps,
++ pub_ops: &PublicKeyOps,
++@@ -1149,6 +1178,7 @@ mod tests {
++ let q = &cops.elem_modulus(cpu);
++ let n = &cops.scalar_modulus(cpu);
++ test::run(test_file, |section, test_case| {
+++ #[cfg(feature = "alloc")]
++ assert_eq!(section, "");
++ let p_scalar = consume_scalar(n, test_case, "p_scalar");
++
++@@ -1184,6 +1214,7 @@ mod tests {
++ }
++
++ /* #[test]
+++ #[cfg(feature = "alloc")]
++ fn p256_point_mul_base_test() {
++ point_mul_base_tests(
++ &p256::PRIVATE_KEY_OPS,
++@@ -1193,6 +1224,7 @@ mod tests {
++ }
++
++ #[test]
+++ #[cfg(feature = "alloc")]
++ fn p384_point_mul_base_test() {
++ point_mul_base_tests(
++ &p384::PRIVATE_KEY_OPS,
++@@ -1201,6 +1233,7 @@ mod tests {
++ );
++ }*/
++
+++ #[cfg(feature = "alloc")]
++ pub(super) fn point_mul_base_tests(
++ ops: &PrivateKeyOps,
++ f: impl Fn(&Scalar, cpu::Features) -> Point,
++@@ -1255,6 +1288,7 @@ mod tests {
++ }
++ }
++
+++ #[cfg(feature = "alloc")]
++ fn consume_jacobian_point(
++ ops: &PrivateKeyOps,
++ test_case: &mut test::TestCase,
++@@ -1275,6 +1309,7 @@ mod tests {
++ xy: [Limb; 2 * elem::NumLimbs::MAX],
++ }
++
+++ #[cfg(feature = "alloc")]
++ fn consume_affine_point(
++ ops: &PrivateKeyOps,
++ test_case: &mut test::TestCase,
++@@ -1289,6 +1324,7 @@ mod tests {
++ };
++ consume_point_elem(q, &mut p.xy, &elems, 0);
++ consume_point_elem(q, &mut p.xy, &elems, 1);
+++ #[cfg(feature = "alloc")]
++ p
++ }
++
++@@ -1306,6 +1342,7 @@ mod tests {
++ Affine(Elem<E>, Elem<E>),
++ }
++
+++ #[cfg(feature = "alloc")]
++ fn consume_point<E: Encoding>(
++ ops: &PrivateKeyOps,
++ test_case: &mut test::TestCase,
++@@ -1384,6 +1421,7 @@ mod tests {
++ scalar_parse_big_endian_variable(n, AllowZero::Yes, bytes).unwrap()
++ }
++
+++ #[cfg(feature = "alloc")]
++ fn consume_scalar_mont(
++ n: &Modulus<N>,
++ test_case: &mut test::TestCase,
++@@ -1394,6 +1432,7 @@ mod tests {
++ let s = scalar_parse_big_endian_variable(n, AllowZero::Yes, bytes).unwrap();
++ // “Transmute” it to a `Scalar<R>`.
++ Scalar {
+++ #[cfg(feature = "alloc")]
++ limbs: s.limbs,
++ m: PhantomData,
++ encoding: PhantomData,
++Index: ring/src/ec/suite_b/public_key.rs
++===================================================================
++--- ring.orig/src/ec/suite_b/public_key.rs
+++++ ring/src/ec/suite_b/public_key.rs
++@@ -72,6 +72,7 @@ mod tests {
++ use crate::testutil as test;
++
++ /* #[test]
+++ #[cfg(feature = "alloc")]
++ fn parse_uncompressed_point_test() {
++ let cpu = cpu::features();
++ test::run(
++Index: ring/tests/aead_tests.rs
++===================================================================
++--- ring.orig/tests/aead_tests.rs
+++++ ring/tests/aead_tests.rs
++@@ -23,12 +23,16 @@ wasm_bindgen_test_configure!(run_in_brow
++ use core::ops::RangeFrom;
++ use ring::{aead, error};
++ #[allow(deprecated)]
++-use ring::{test, test_file};
+++use ring::test;
+++
+++#[cfg(feature = "alloc")]
+++use ring::test_file;
++
++ /// Generate the known answer test functions for the given algorithm and test
++ /// case input file, where each test is implemented by a test in `$test`.
++ ///
++ /// All of these tests can be run in parallel.
+++#[cfg(feature = "alloc")]
++ macro_rules! test_known_answer {
++ ( $alg:ident, $test_file:expr, [ $( $test:ident ),+, ] ) => {
++ $(
++@@ -46,6 +50,7 @@ macro_rules! test_known_answer {
++ /// Generate the tests for a given algorithm.
++ ///
++ /// All of these tests can be run in parallel.
+++#[cfg(feature = "alloc")]
++ macro_rules! test_aead {
++ { $( { $alg:ident, $test_file:expr } ),+, } => {
++ mod aead_test { // Make `cargo test aead` include these files.
++@@ -82,7 +87,8 @@ macro_rules! test_aead {
++ }
++ }
++
++-/*test_aead! {
+++/*#[cfg(feature = "alloc")]
+++test_aead! {
++ { AES_128_GCM, "aead_aes_128_gcm_tests.txt" },
++ { AES_256_GCM, "aead_aes_256_gcm_tests.txt" },
++ { CHACHA20_POLY1305, "aead_chacha20_poly1305_tests.txt" },
++@@ -447,6 +453,7 @@ fn test_aead_nonce_sizes() {
++
++ /* #[allow(clippy::range_plus_one)]
++ #[test]
+++#[cfg(feature = "alloc")]
++ fn aead_chacha20_poly1305_openssh() {
++ // TODO: test_aead_key_sizes(...);
++
++Index: ring/tests/agreement_tests.rs
++===================================================================
++--- ring.orig/tests/agreement_tests.rs
+++++ ring/tests/agreement_tests.rs
++@@ -24,7 +24,10 @@ extern crate alloc;
++
++ use ring::{agreement, error, rand};
++ #[allow(deprecated)]
++-use ring::{test, test_file};
+++use ring::test;
+++
+++#[cfg(feature = "alloc")]
+++use ring::test_file;
++
++ #[test]
++ fn agreement_traits() {
++@@ -73,6 +76,7 @@ fn agreement_traits() {
++ }
++
++ /* #[test]
+++#[cfg(feature = "alloc")]
++ fn agreement_agree_ephemeral() {
++ let rng = rand::SystemRandom::new();
++
++@@ -131,6 +135,7 @@ fn agreement_agree_ephemeral() {
++ } */
++
++ #[test]
+++#[cfg(feature = "alloc")]
++ fn test_agreement_ecdh_x25519_rfc_iterated() {
++ let mut k = h("0900000000000000000000000000000000000000000000000000000000000000");
++ let mut u = k.clone();
++@@ -196,6 +201,7 @@ fn x25519_(private_key: &[u8], public_ke
++ })
++ }
++
+++#[cfg(feature = "alloc")]
++ fn h(s: &str) -> Vec<u8> {
++ match test::from_hex(s) {
++ Ok(v) => v,
++Index: ring/tests/digest_tests.rs
++===================================================================
++--- ring.orig/tests/digest_tests.rs
+++++ ring/tests/digest_tests.rs
++@@ -16,7 +16,10 @@
++
++ use ring::digest;
++ #[allow(deprecated)]
++-use ring::{test, test_file};
+++use ring::test;
+++
+++#[cfg(feature = "alloc")]
+++use ring::test_file;
++
++ #[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
++ use wasm_bindgen_test::{wasm_bindgen_test as test, wasm_bindgen_test_configure};
++@@ -26,6 +29,7 @@ wasm_bindgen_test_configure!(run_in_brow
++
++ /// Test vectors from BoringSSL, Go, and other sources.
++ /* #[test]
+++#[cfg(feature = "alloc")]
++ fn digest_misc() {
++ test::run(test_file!("digest_tests.txt"), |section, test_case| {
++ assert_eq!(section, "");
++Index: ring/tests/ecdsa_tests.rs
++===================================================================
++--- ring.orig/tests/ecdsa_tests.rs
+++++ ring/tests/ecdsa_tests.rs
++@@ -19,11 +19,15 @@ use ring::{
++ signature::{self, KeyPair},
++ };
++ #[allow(deprecated)]
++-use ring::{test, test_file};
+++use ring::test;
+++
+++#[cfg(feature = "alloc")]
+++use ring::test_file;
++
++ // ECDSA *signing* tests are in src/ec/ecdsa/signing.rs.
++
++ /* #[test]
+++#[cfg(feature = "alloc")]
++ fn ecdsa_from_pkcs8_test() {
++ let rng = rand::SystemRandom::new();
++
++@@ -114,6 +118,7 @@ fn ecdsa_generate_pkcs8_test() {
++ }
++
++ /* #[test]
+++#[cfg(feature = "alloc")]
++ fn signature_ecdsa_verify_asn1_test() {
++ test::run(
++ test_file!("ecdsa_verify_asn1_tests.txt"),
++@@ -147,6 +152,7 @@ fn signature_ecdsa_verify_asn1_test() {
++ }
++
++ #[test]
+++#[cfg(feature = "alloc")]
++ fn signature_ecdsa_verify_fixed_test() {
++ test::run(
++ test_file!("ecdsa_verify_fixed_tests.txt"),
++@@ -218,6 +224,7 @@ fn ecdsa_test_public_key_coverage() {
++ // signature verifies correctly. The known-answer tests themselves are in
++ // ecsda/signing.rs.
++ /* #[test]
+++#[cfg(feature = "alloc")]
++ fn signature_ecdsa_sign_fixed_sign_and_verify_test() {
++ let rng = rand::SystemRandom::new();
++
++@@ -272,6 +279,7 @@ fn signature_ecdsa_sign_fixed_sign_and_v
++ // signature verifies correctly. The known-answer tests themselves are in
++ // ecsda/signing.rs.
++ #[test]
+++#[cfg(feature = "alloc")]
++ fn signature_ecdsa_sign_asn1_test() {
++ let rng = rand::SystemRandom::new();
++
++Index: ring/tests/ed25519_tests.rs
++===================================================================
++--- ring.orig/tests/ed25519_tests.rs
+++++ ring/tests/ed25519_tests.rs
++@@ -19,7 +19,10 @@ use ring::{
++ signature::{self, Ed25519KeyPair, KeyPair},
++ };
++ #[allow(deprecated)]
++-use ring::{test, test_file};
+++use ring::test;
+++
+++#[cfg(feature = "alloc")]
+++use ring::test_file;
++
++ #[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
++ use wasm_bindgen_test::{wasm_bindgen_test as test, wasm_bindgen_test_configure};
++@@ -29,6 +32,7 @@ wasm_bindgen_test_configure!(run_in_brow
++
++ /* /// Test vectors from BoringSSL.
++ #[test]
+++#[cfg(feature = "alloc")]
++ fn test_signature_ed25519() {
++ test::run(test_file!("ed25519_tests.txt"), |section, test_case| {
++ assert_eq!(section, "");
++@@ -93,6 +97,7 @@ fn test_signature_ed25519_verify() {
++ );
++ }*/
++
+++#[cfg(feature = "alloc")]
++ fn test_signature_verification(
++ public_key: &[u8],
++ msg: &[u8],
++@@ -136,6 +141,7 @@ fn test_ed25519_from_pkcs8_unchecked() {
++ }
++
++ #[test]
+++#[cfg(feature = "alloc")]
++ fn test_ed25519_from_pkcs8() {
++ test_ed25519_from_pkcs8_(FromPkcs8Variant::Checked, Ed25519KeyPair::from_pkcs8)
++ }
++Index: ring/tests/hmac_tests.rs
++===================================================================
++--- ring.orig/tests/hmac_tests.rs
+++++ ring/tests/hmac_tests.rs
++@@ -16,7 +16,10 @@
++
++ use ring::{digest, hmac};
++ #[allow(deprecated)]
++-use ring::{test, test_file};
+++use ring::test;
+++
+++#[cfg(feature = "alloc")]
+++use ring::test_file;
++
++ #[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
++ use wasm_bindgen_test::{wasm_bindgen_test as test, wasm_bindgen_test_configure};
++@@ -26,6 +29,7 @@ wasm_bindgen_test_configure!(run_in_brow
++
++ /*#[test]
++ fn hmac_tests() {
+++#[cfg(feature = "alloc")]
++ test::run(test_file!("hmac_tests.txt"), |section, test_case| {
++ assert_eq!(section, "");
++ let digest_alg = test_case.consume_digest_alg("HMAC");
++Index: ring/tests/pbkdf2_tests.rs
++===================================================================
++--- ring.orig/tests/pbkdf2_tests.rs
+++++ ring/tests/pbkdf2_tests.rs
++@@ -17,7 +17,10 @@
++ use core::num::NonZeroU32;
++ use ring::{digest, error, pbkdf2};
++ #[allow(deprecated)]
++-use ring::{test, test_file};
+++use ring::test;
+++
+++#[cfg(feature = "alloc")]
+++use ring::test_file;
++
++ #[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
++ use wasm_bindgen_test::{wasm_bindgen_test as test, wasm_bindgen_test_configure};
++@@ -28,6 +31,7 @@ wasm_bindgen_test_configure!(run_in_brow
++ /* /// Test vectors from BoringSSL, Go, and other sources.
++ #[test]
++ pub fn pbkdf2_tests() {
+++#[cfg(feature = "alloc")]
++ test::run(test_file!("pbkdf2_tests.txt"), |section, test_case| {
++ assert_eq!(section, "");
++ let algorithm = {
++Index: ring/tests/quic_tests.rs
++===================================================================
++--- ring.orig/tests/quic_tests.rs
+++++ ring/tests/quic_tests.rs
++@@ -16,23 +16,30 @@
++
++ use ring::aead::quic;
++ #[allow(deprecated)]
++-use ring::{test, test_file};
+++use ring::test;
+++
+++#[cfg(feature = "alloc")]
+++use ring::test_file;
++
++ /* #[test]
+++#[cfg(feature = "alloc")]
++ fn quic_aes_128() {
++ test_quic(&quic::AES_128, test_file!("quic_aes_128_tests.txt"));
++ }
++
++ #[test]
+++#[cfg(feature = "alloc")]
++ fn quic_aes_256() {
++ test_quic(&quic::AES_256, test_file!("quic_aes_256_tests.txt"));
++ }
++
++ #[test]
+++#[cfg(feature = "alloc")]
++ fn quic_chacha20() {
++ test_quic(&quic::CHACHA20, test_file!("quic_chacha20_tests.txt"));
++ }*/
++
+++#[cfg(feature = "alloc")]
++ fn test_quic(alg: &'static quic::Algorithm, test_file: test::File) {
++ test_key_len(alg);
++ test_sample_len(alg);
++Index: ring/src/lib.rs
++===================================================================
++--- ring.orig/src/lib.rs
+++++ ring/src/lib.rs
++@@ -91,7 +91,7 @@
++ )]
++ #![no_std]
++
++-#[cfg(feature = "alloc")]
+++#[cfg(any(feature = "alloc",test))]
++ extern crate alloc;
++
++ #[macro_use]
++Index: ring/src/limb.rs
++===================================================================
++--- ring.orig/src/limb.rs
+++++ ring/src/limb.rs
++@@ -393,6 +393,7 @@ mod tests {
++ }
++
++ #[test]
+++ #[cfg(feature = "alloc")]
++ fn test_limbs_are_even() {
++ static EVENS: &[&[LeakyLimb]] = &[
++ &[],
++@@ -463,6 +464,7 @@ mod tests {
++ }
++
++ #[test]
+++ #[cfg(feature = "alloc")]
++ fn test_limbs_equal_limb() {
++ // Equal
++ static EQUAL: &[&[LeakyLimb]] = &[&[1], &[1, 0], &[1, 0, 0], &[1, 0, 0, 0, 0, 0, 0]];
++@@ -636,6 +638,7 @@ mod tests {
++ }
++
++ #[test]
+++ #[cfg(feature = "alloc")]
++ fn test_limbs_minimal_bits() {
++ const ALL_ONES: LeakyLimb = LeakyLimb::MAX;
++ static CASES: &[(&[LeakyLimb], usize)] = &[
++Index: ring/src/testutil.rs
++===================================================================
++--- ring.orig/src/testutil.rs
+++++ ring/src/testutil.rs
++@@ -537,6 +537,7 @@ pub mod rand {
++ }
++
++ #[cfg(test)]
+++#[cfg(feature = "alloc")]
++ mod tests {
++ use crate::error;
++ use crate::testutil as test;
++Index: ring/tests/hkdf_tests.rs
++===================================================================
++--- ring.orig/tests/hkdf_tests.rs
+++++ ring/tests/hkdf_tests.rs
++@@ -16,7 +16,10 @@
++
++ use ring::{digest, error, hkdf};
++ #[allow(deprecated)]
++-use ring::{test, test_file};
+++use ring::test;
+++
+++#[cfg(feature = "alloc")]
+++use ring::test_file;
++
++ #[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
++ use wasm_bindgen_test::{wasm_bindgen_test as test, wasm_bindgen_test_configure};
++@@ -25,6 +28,7 @@ use wasm_bindgen_test::{wasm_bindgen_tes
++ wasm_bindgen_test_configure!(run_in_browser);
++
++ /* #[test]
+++#[cfg(feature = "alloc")]
++ fn hkdf_tests() {
++ test::run(test_file!("hkdf_tests.txt"), |section, test_case| {
++ assert_eq!(section, "");
--- /dev/null
--- /dev/null
++Index: ring/Cargo.toml
++===================================================================
++--- ring.orig/Cargo.toml
+++++ ring/Cargo.toml
++@@ -220,1 +220,0 @@
++-wasm32_unknown_unknown_js = ["getrandom/js"]
--- /dev/null
--- /dev/null
++Index: ring/Cargo.toml
++===================================================================
++--- ring.orig/Cargo.toml
+++++ ring/Cargo.toml
++@@ -86,4 +86,0 @@
++-[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dev-dependencies.wasm-bindgen-test]
++-version = "0.3.37"
++-features = ["std"]
++-default-features = false
--- /dev/null
--- /dev/null
++Index: ring/Cargo.toml
++===================================================================
++--- ring.orig/Cargo.toml
+++++ ring/Cargo.toml
++@@ -216,7 +216,0 @@ unstable-testing-arm-no-hw = []
++-[target.'cfg(all(all(target_arch = "aarch64", target_endian = "little"), target_os = "windows"))'.dependencies.windows-sys]
++-version = "0.52"
++-features = [
++- "Win32_Foundation",
++- "Win32_System_Threading",
++-]
++-
--- /dev/null
--- /dev/null
++built-using.patch
++no-wasm-bindgen-test.patch
++disable-slow-tests.patch
++disable-tests-missing-testdata.patch
++fix-tests-no-default-features.patch
++remove-windows.patch
++no-js.patch
++disable-arm-specific-codepaths.patch
--- /dev/null
--- /dev/null
++#!/usr/bin/make -f
++%:
++ dh $@ --buildsystem cargo
--- /dev/null
--- /dev/null
++3.0 (quilt)
--- /dev/null
--- /dev/null
++Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets --all-features
++Features: test-name=rust-ring:@
++Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
++Restrictions: allow-stderr, skip-not-installable
++
++Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets --no-default-features --features alloc
++Features: test-name=librust-ring-dev:alloc
++Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
++Restrictions: allow-stderr, skip-not-installable
++
++Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets
++Features: test-name=librust-ring-dev:default
++Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
++Restrictions: allow-stderr, skip-not-installable
++
++Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets --no-default-features --features dev_urandom_fallback
++Features: test-name=librust-ring-dev:dev_urandom_fallback
++Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
++Restrictions: allow-stderr, skip-not-installable
++
++Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets --no-default-features --features less-safe-getrandom-custom-or-rdrand
++Features: test-name=librust-ring-dev:less-safe-getrandom-custom-or-rdrand
++Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
++Restrictions: allow-stderr, skip-not-installable
++
++Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets --no-default-features --features less-safe-getrandom-espidf
++Features: test-name=librust-ring-dev:less-safe-getrandom-espidf
++Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
++Restrictions: allow-stderr, skip-not-installable
++
++Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets --no-default-features --features std
++Features: test-name=librust-ring-dev:std
++Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
++Restrictions: allow-stderr, skip-not-installable
++
++Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets --no-default-features --features test_logging
++Features: test-name=librust-ring-dev:test_logging
++Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
++Restrictions: allow-stderr, skip-not-installable
++
++Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets --no-default-features --features unstable-testing-arm-no-hw
++Features: test-name=librust-ring-dev:unstable-testing-arm-no-hw
++Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
++Restrictions: allow-stderr, skip-not-installable
++
++Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets --no-default-features --features unstable-testing-arm-no-neon
++Features: test-name=librust-ring-dev:unstable-testing-arm-no-neon
++Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
++Restrictions: allow-stderr, skip-not-installable
++
++Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets --no-default-features
++Features: test-name=librust-ring-dev:
++Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
++Restrictions: allow-stderr, skip-not-installable
--- /dev/null
--- /dev/null
++version=4
++opts=filenamemangle=s/.*\/(.*)\/download/ring-$1\.tar\.gz/g,\
++uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\.?\d*)$/$1~$2/ \
++https://qa.debian.org/cgi-bin/fakeupstream.cgi?upstream=crates.io/ring .*/crates/ring/@ANY_VERSION@/download